t
[clean-tests.git] / structs / test.icl
1 module test
2
3 import GenC
4 import Text
5
6 :: List a = Nil | Cons a (List a)
7 :: NInt =: NInt Int
8 :: T = A | B | C
9 :: R = {i :: Int, q :: T}
10 :: Muta a = Muta (Mutb a)
11 :: Mutb a = Mutb (Muta a)
12 derive gToStruct NInt, T, List, R, Muta, Mutb, (,), (), [], (,,)
13 derive gPotInf NInt, T, List, R, Muta, Mutb, (,), (), [], (,,)
14
15
16 Start = let (l, r) = (toCParser (unBox t2)) in concat r
17 where
18 t :: Box String (List (Muta Int))
19 // t :: Box GTSState NInt
20 t = Box "listmutaint"
21
22 t2 :: Box GTSState (Bool, Int)
23 t2 = toStruct