mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-19 09:49:33 -06:00
65 lines
1.3 KiB
Plaintext
65 lines
1.3 KiB
Plaintext
--# -path=.:../Common:prelude
|
|
|
|
abstract TramSystem = GodisSystem, Stops, Lines ** {
|
|
|
|
cat
|
|
Route; -- route descripiption.
|
|
Leg;
|
|
[Leg]{2}; -- route segments on a line
|
|
-- the following are derived from declaring [Leg]{2}:
|
|
-- BaseLeg : Leg -> Leg -> [Leg];
|
|
-- ConsLeg : Leg -> [Leg] -> [Leg];
|
|
|
|
|
|
fun
|
|
|
|
-----------------------------------------------------------------
|
|
-- Functions for creating routes
|
|
|
|
lineLeg : Line -> Stop -> Stop -> Leg;
|
|
|
|
oneLeg : Leg -> Route;
|
|
mkRoute : [Leg] -> Route;
|
|
|
|
-------------------------------------------------------------------
|
|
-- Predicates
|
|
-- Questions and Propositions as they are intended to be used
|
|
-- by either System or User
|
|
|
|
-- U: what is the shortest route?
|
|
shortest_route_Q : Question;
|
|
|
|
-- S: Take Tram Z from X to Y. Take...
|
|
shortest_route_P : Route -> Proposition;
|
|
|
|
-- S: Where do you want to go to?
|
|
dest_stop_Q : Question;
|
|
|
|
-- U: I want to go to Stop
|
|
dest_stop_P : Stop -> Proposition;
|
|
|
|
-- S: Where do you want to go from?
|
|
dept_stop_Q : Question;
|
|
|
|
-- U: I want to go from Stop
|
|
dept_stop_P : Stop -> Proposition;
|
|
|
|
|
|
-----------------------------------------------------------------
|
|
-- Short answers
|
|
|
|
-- U: "klippan"
|
|
stop : Stop -> ShortAns;
|
|
|
|
|
|
------------------------------------------------------------------
|
|
-- Actions
|
|
|
|
-- S: GoTGoDiS is a tram information system
|
|
help: Action;
|
|
|
|
-- S: restarting
|
|
top: Action;
|
|
|
|
}
|