repositories
/
mTask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update
[mTask.git]
/
gCons.icl
diff --git
a/gCons.icl
b/gCons.icl
index
b54c8e0
..
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{|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
consName{|(->)|} f g x = g (x undef)
generic consIndex a :: a -> Int
@@
-35,11
+36,10
@@
consIndex{|Int|} i = i
consIndex{|Bool|} b = if b 1 0
consIndex{|Char|} c = toInt c
consIndex{|String|} _ = 0
consIndex{|Bool|} b = if b 1 0
consIndex{|Char|} c = toInt c
consIndex{|String|} _ = 0
-
-import StdMisc, StdDebug
+consIndex{|[]|} _ _ = 0
generic conses a :: [a]
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
conses{|UNIT|} = [UNIT]
conses{|PAIR|} f g = []
conses{|EITHER|} f g = map LEFT f ++ map RIGHT g
@@
-58,3
+58,4
@@
conses{|[!!]|} _ = [[!!]]
conses{|{}|} _ = [{}]
conses{|{!}|} _ = [{!}]
conses{|()|} = [()]
conses{|{}|} _ = [{}]
conses{|{!}|} _ = [{!}]
conses{|()|} = [()]
+conses{|(->)|} _ _ = [const undef]