diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-09-12 21:03:00 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-09-12 21:03:00 +0000 |
| commit | c9f8961a9ed5c33524619309171aba1b587ad7c2 (patch) | |
| tree | b11ab55379d53b027ac528e1c49bbef4c4e52a3a /examples/tutorial/smart/Smart.gf | |
| parent | fff6afd438ec49cf32f9a384b98e6f9a7859d65c (diff) | |
last adjustments of examples before course
Diffstat (limited to 'examples/tutorial/smart/Smart.gf')
| -rw-r--r-- | examples/tutorial/smart/Smart.gf | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/tutorial/smart/Smart.gf b/examples/tutorial/smart/Smart.gf new file mode 100644 index 000000000..f88b40f12 --- /dev/null +++ b/examples/tutorial/smart/Smart.gf @@ -0,0 +1,47 @@ +abstract Smart = { + +flags startcat = Utterance ; + +cat + Utterance ; + Command ; + Question ; + Kind ; + Action Kind ; + Device Kind ; + Location ; + + Switchable Kind ; + Dimmable Kind ; + Statelike (k : Kind) (Action k) ; + +fun + UCommand : Command -> Utterance ; + UQuestion : Question -> Utterance ; + + CAction : (k : Kind) -> Action k -> Device k -> Command ; + QAction : (k : Kind) -> (a : Action k) -> Statelike k a -> Device k -> Question ; + + DKindOne : (k : Kind) -> Device k ; + DKindMany : (k : Kind) -> Device k ; + DLoc : (k : Kind) -> Device k -> Location -> Device k ; + + light, fan : Kind ; + + switchOn, switchOff : (k : Kind) -> Switchable k -> Action k ; + + dim : (k : Kind) -> Dimmable k -> Action k ; + + kitchen, livingRoom : Location ; + +-- proof objects + + switchable_light : Switchable light ; + switchable_fan : Switchable fan ; + dimmable_light : Dimmable light ; + + statelike_switchOn : (k : Kind) -> (s : Switchable k) -> Statelike k (switchOn k s) ; + statelike_switchOff : (k : Kind) -> (s : Switchable k) -> Statelike k (switchOff k s) ; + +} + |
