layout is working, now up to the communication
[mTask.git] / gCons.icl
index 3f13a7d..6e5aaa5 100644 (file)
--- a/gCons.icl
+++ b/gCons.icl
@@ -22,6 +22,7 @@ consName{|Int|}        i = toString i
 consName{|Bool|}       b = toString b
 consName{|Char|}       c = toString c
 consName{|String|}     s = s
+consName{|[]|} _ _ = "[]"
 consName{|(->)|}   f g x = g (x undef)
 
 generic consIndex a :: a -> Int
@@ -35,9 +36,10 @@ consIndex{|Int|} i = i
 consIndex{|Bool|} b = if b 1 0
 consIndex{|Char|} c = toInt c
 consIndex{|String|} _ = 0
+consIndex{|[]|} _ _ = 0
 
 generic conses a :: [a]
-conses{|CONS|} f = map CONS f
+conses{|CONS|} f = [CONS (hd f)]
 conses{|UNIT|} = [UNIT]
 conses{|PAIR|} f g = []
 conses{|EITHER|} f g = map LEFT f ++ map RIGHT g
@@ -56,4 +58,4 @@ conses{|[!!]|} _ = [[!!]]
 conses{|{}|} _ = [{}]
 conses{|{!}|} _ = [{!}]
 conses{|()|} = [()]
-
+conses{|(->)|} _ _ = [const undef]