@@ -6,20 +6,6 @@ import Control.Arrow (first)
6import Types
6import Types
9−element = ADT "Element" []
10−direction = ADT "Direction" []
12−listOf t = ADT "List" [t]
13−tuple2 a b = ADT "Tuple2" [a,b]
17−t1 ==> t2 = LambdaT t1 t2
20−name -: tipe = (,) name tipe
22−hasType t = map (-: t)
24-------- Text and Elements --------
10-------- Text and Elements --------
@@ -30,11 +16,12 @@ textToText = ["header", "italic", "bold", "underline"
31textAttrs = [ "toText" -: string ==> text
17textAttrs = [ "toText" -: string ==> text
32 , "link" -: string ==> text ==> text
18 , "link" -: string ==> text ==> text
33− , "height" -: IntT ==> text ==> text
19+-- , "height" -: IntT ==> text ==> text
34 ] ++ hasType (text ==> text) textToText
20 ] ++ hasType (text ==> text) textToText
36elements = let iee = IntT ==> element ==> element in
22elements = let iee = IntT ==> element ==> element in
37 [ "flow" -: direction ==> listOf element ==> element
23 [ "flow" -: direction ==> listOf element ==> element
24+ , "layers" -: listOf element ==> element
38 , "opacity" -: iee
25 , "opacity" -: iee
39 , "width" -: iee
26 , "width" -: iee
40 , "height" -: iee
27 , "height" -: iee
@@ -100,7 +87,7 @@ lists = liftM (map (first ("List."++)) . (++ints)) . sequence $
100 , do a <- var ; "reverse" -:: listOf a ==> listOf a
87 , do a <- var ; "reverse" -:: listOf a ==> listOf a
101 , do a <- var ; "intersperse" -:: a ==> listOf a ==> listOf a
88 , do a <- var ; "intersperse" -:: a ==> listOf a ==> listOf a
102 , do a <- var ; "intercalate" -:: listOf a ==> listOf(listOf a) ==> listOf a
89 , do a <- var ; "intercalate" -:: listOf a ==> listOf(listOf a) ==> listOf a
103− , do [a,b] <- vars 2 ; "zip" -:: listOf a ==>listOf b ==>listOf(tuple2 a b)
90+ , do [a,b] <- vars 2 ; "zip" -:: listOf a ==>listOf b ==>listOf(tupleOf [a,b])
104 , do [a,b] <- vars 2 ; "map" -:: (a ==> b) ==> listOf a ==> listOf b
91 , do [a,b] <- vars 2 ; "map" -:: (a ==> b) ==> listOf a ==> listOf b
105 , do [a,b] <- vars 2 ; "foldr" -:: (a ==> b ==> b) ==> b ==> listOf a ==> b
92 , do [a,b] <- vars 2 ; "foldr" -:: (a ==> b ==> b) ==> b ==> listOf a ==> b
106 , do [a,b] <- vars 2 ; "foldl" -:: (a ==> b ==> b) ==> b ==> listOf a ==> b
93 , do [a,b] <- vars 2 ; "foldl" -:: (a ==> b ==> b) ==> b ==> listOf a ==> b
@@ -113,5 +100,7 @@ lists = liftM (map (first ("List."++)) . (++ints)) . sequence $
114-------- Everything --------
101-------- Everything --------
116−hints = do fs <- funcs ; ls <- lists
104+ fs <- funcs ; ls <- lists
105+ return $ fs ++ ls ++ math ++ bool
117− return $ fs ++ ls ++ str2elem ++ textAttrs ++ elements ++ math ++ bool
106+ {--++ str2elem ++ textAttrs ++ elements--}