summaryrefslogtreecommitdiff
path: root/examples/travel/Travel.gf
blob: 77e2ec23470474cfffe3b94e11ece47fd7dff196 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
abstract Travel = {

  flags startcat=Phrase ;

  cat
    Phrase ;

    Greeting ;
    Order ; 
    Question ;
    Sentence ;

    Object ;
    Kind ;
    Quality ;
    Number ;

    Speaker ;
    Hearer ;
    Gender ;
    Quantity ;

  fun
    PGreeting : Greeting -> Speaker -> Hearer -> Phrase ;
    POrder    : Order    -> Speaker -> Hearer -> Phrase ;
    PQuestion : Question -> Speaker -> Hearer -> Phrase ;
    PSentence : Sentence -> Speaker -> Hearer -> Phrase ;

    MkSpeaker : Gender -> Quantity -> Speaker ;
    MkHearer  : Gender -> Quantity -> Hearer ;

    Male, Female : Gender ;
    Single, Many : Quantity ;

    Hello : Greeting ;
    Thanks : Greeting ;

    IWant : Object -> Order ;
    
    DoYouHave : Kind -> Question ;
    IsIt : Object -> Quality -> Sentence ;

    ItIs : Object -> Quality -> Sentence ;
    
    Indef : Kind -> Object ;
    This  : Kind -> Object ;
    NumberObjects : Number -> Kind -> Object ;

    One, Two, Five, Ten : Number ;

    Mango : Kind ;
    Green : Quality ;

}