packages feed

swarm-0.7.0.0: data/scenarios/Testing/836-pathfinding/_836-path-exists/find-entity-unwalkable-solution.sw

def goDir = \goalItem. \f. \r.
  match r \d. \_.
  if (d == down) {
    grab; pure ()
  } {
    turn d;
    itemAhead <- scan forward;
    let isGoalAhead = case itemAhead (\_. false) (\item. item == goalItem) in
    if isGoalAhead {
      pure ();
    } {
      move; f;
    };
  }
  end;

def followRoute =
    let goalItem = "water" in
    nextDir <- path (inL ()) (inR goalItem);
    case nextDir pure $ goDir goalItem followRoute;
    end;

followRoute;