on 0ca86e4 help sign in
elk/src/Types/Hints.hs
29 lines 905 B history raw
2module Hints where
4import Types
6elementT = ADT "Element" []
7n2e2e = LambdaT IntT $ LambdaT elementT elementT
9str2elem = map (\f -> (f, LambdaT StringT elementT))
10 [ "image", "video", "text", "leftText", "centerText", "rightText" ]
12textAttrs =
13 [ ("link", LambdaT StringT s2s), ("fontSize", LambdaT IntT s2s) ] ++
14 map (\f -> (f, s2s))
15 ["header", "italic", "bold", "underline"
16 , "overline", "strikeThrough" ]
17 where s2s = LambdaT StringT StringT
19allHints = str2elem ++ textAttrs ++
20 [ ("flowDown", LambdaT (ADT "List" [elementT]) elementT)
21 , ("flowRight", LambdaT (ADT "List" [elementT]) elementT)
22 , ("opacity", n2e2e)
23 , ("width", n2e2e)
24 , ("height", n2e2e)
25 , ("size", LambdaT IntT n2e2e)
26 , ("centerX", LambdaT elementT elementT)
27 ]
29typeHints = Map.fromList allHints