monomorph structgen
[clean-tests.git] / structs / test.icl
1 module test
2
3 import GenC
4
5 :: List a = Nil | Cons a (List a)
6 :: NInt =: NInt Int
7 :: T = A | B | C
8 :: R = {i :: Int, q :: T}
9 :: Muta a = Muta (Mutb a)
10 :: Mutb a = Mutb (Muta a)
11 derive gToStruct NInt, T, List, R, Muta, Mutb, (,), (), [], (,,)
12 derive gPotInf NInt, T, List, R, Muta, Mutb, (,), (), [], (,,)
13
14 Start = (toCFiles t)
15 where
16 t :: Box String (List (Muta Int))
17 // t :: Box GTSState NInt
18 t = Box "listmutaint"
19