summaryrefslogtreecommitdiff
path: root/gf-book/examples/chapter6/DShopping.gf
blob: a5a06e070d20ff697f3865f07153626f2ba0cc84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
abstract DShopping = {
  flags startcat = Comment ;
  cat
    Comment ; 
    Dom ;
    Item Dom ; 
    Kind Dom ; 
    Quality Dom ;
  fun
    DFood, DCloth : Dom ;

    Pred : (d : Dom) -> Item d -> Quality d -> Comment ;
    This, That : (d : Dom) -> Kind d -> Item d ;
    Mod : (d : Dom) -> Quality d -> Kind d -> Kind d ;
    Wine, Cheese, Fish : Kind DFood ;
    Very : (d : Dom) -> Quality d -> Quality d ;
    Fresh, Warm, Delicious, Boring : Quality DFood ;

    Shirt, Jacket : Kind DCloth ;
    Comfortable : Quality DCloth ;

    Italian, Expensive, Elegant : (d : Dom) -> Quality d ;

}