1 definition module while
7 = (=.) infix 1 String WhileInt
8 | If WhileBool Then WhileExpr Else WhileExpr
9 | (:.) infixr 0 WhileExpr WhileExpr
10 | While WhileBool Do WhileExpr
12 | E.e: WExpr e & eval e & print e
16 | (==.) infix 4 WhileInt WhileInt
17 | (&.) infix 3 WhileBool WhileBool
19 | E.e: WBool e & evalb e & print e
24 | (+.) infixl 6 WhileInt WhileInt
25 | E.e: WInt e & evali e & print e
29 put :: g String Int -> g
30 get :: g String -> Int
36 class eval m :: m -> (g -> g) | gamma g
37 class evali m :: m -> (g -> Int) | gamma g
38 class evalb m :: m -> (g -> Bool) | gamma g
40 instance eval WhileExpr
41 instance evali WhileInt
42 instance evalb WhileBool
44 class print m :: m -> String
46 instance print WhileExpr
47 instance print WhileInt
48 instance print WhileBool