summaryrefslogtreecommitdiff
path: root/doc/tutorial/smarthouse/Smart.gf
blob: f23082b47b964a3bc2e78b57dac845909fb1be19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
abstract Smart = {

flags startcat = Command ;

cat 
  Command ; 
  Kind ; 
  Action Kind ; 
  Device Kind ; 
fun
  CAction : (k : Kind) -> Action k -> Device k -> Command ;
  DKindOne  : (k : Kind) -> Device k ;
  light, fan : Kind ;
  switchOn, switchOff : (k : Kind) -> Action k ;
  dim : Action light ;
}