ushalow
[clean-tests.git] / test.icl
1 module test
2
3 import StdEnv, StdGeneric
4 import Data.Array
5
6 Start :: [{!Int}]
7 Start =
8 [ appendArr {!1,2,3} {!4,5,6,7}
9 , appendArr {!} {!}
10 , appendArr {!} {!1,2,3}
11 , appendArr {!1,2,3} {!}
12 ]
13 /*
14 derive bimap Box
15
16 :: Box b a =: Box b
17
18 unBox (Box b) :== b
19 box b :== Box b
20
21 generic gPotentialInf a :: [String] -> Box Bool a
22
23 gPotentialInf{|World|} _ = box False
24 gPotentialInf{|File|} _ = box False
25 gPotentialInf{|Bool|} _ = box False
26 gPotentialInf{|Char|} _ = box False
27 gPotentialInf{|Real|} _ = box False
28 gPotentialInf{|Int|} _ = box False
29 gPotentialInf{|Dynamic|} _ = box False
30 gPotentialInf{|(->)|} _ _ _ = box False
31 gPotentialInf{|{}|} a m = box (unBox (a m))
32 gPotentialInf{|{!}|} a m = box (unBox (a m))
33 gPotentialInf{|{#}|} a m = box (unBox (a m))
34 gPotentialInf{|UNIT|} _ = box False
35 gPotentialInf{|EITHER|} l r m = box (unBox (l m) || unBox (r m))
36 gPotentialInf{|PAIR|} l r m = box (unBox (l m) || unBox (r m))
37 gPotentialInf{|CONS|} x m = box (unBox (x m))
38 gPotentialInf{|FIELD|} x m = box (unBox (x m))
39 gPotentialInf{|RECORD of {grd_name}|} x m
40 | isMember grd_name m = box True
41 = box (unBox (x [grd_name:m]))
42 gPotentialInf{|OBJECT of {gtd_name}|} x m
43 | isMember gtd_name m = box True
44 = box (unBox (x [gtd_name:m]))
45
46 //derive gPotentialInf Int,Bool,Char,Real,String,File,World,Dynamic
47 derive gPotentialInf (),(,),(,,),(,,,),(,,,,),(,,,,,),(,,,,,,),(,,,,,,,),(,,,,,,,,),(,,,,,,,,,),(,,,,,,,,,,),(,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,,),(,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
48 derive gPotentialInf {},{#},{!},[],[! ],[ !],[!!],[#],[#!]
49
50 Start :: Box Bool *File
51 Start = gPotentialInf{|*|} []
52 */