summaryrefslogtreecommitdiff
path: root/examples/dialogue/Dialogue.gf
blob: 13c674731927b4f9dbc20ede7601dfface56113c (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
abstract Dialogue = {

  flags startcat=Move ;

  cat
    Move ;
    Action ;
    Kind ;
    Object Kind ;
    Oper0 ;
    Oper1 Kind ;
    Oper2 Kind Kind ;

  fun
    MRequest : Action -> Move ;
    MAnswer  : Action -> Move ;

    MQuery : Kind -> Move ;

    AOper0 :                 Oper0                             -> Action ;
    AOper1 : (k   : Kind) -> Oper1 k   -> Object k             -> Action ;
    AOper2 : (k,m : Kind) -> Oper2 k m -> Object k -> Object m -> Action ;

    OAll   : (k : Kind) -> Object k ;
    OIndef : (k : Kind) -> Object k ;
    ODef   : (k : Kind) -> Object k ;


}