@@ -0,0 +1,142 @@
4+flip :: forall a b c. (a -> b -> c) -> b -> a -> c
5+flip = \f -> \b -> \a -> f a b
7+const :: forall a b. a -> b -> a
10+(|>) :: forall a b c. (a -> b) -> (b -> c) -> a -> c
11+(|>) = \f -> \g -> \a -> g (f a)
13+(<|) :: forall a b c. (b -> c) -> (a -> b) -> a -> c
18+data Maybe a = Nothing | Just a
20+maybe :: forall a b. b -> (a -> b) -> Maybe a -> b
21+maybe = \b -> \f -> \m -> case m of
25+fromMaybe :: forall a. a -> Maybe a -> a
26+fromMaybe = \a -> maybe a id
30+head :: forall a. [a] -> a
31+head = \xs -> case xs of
34+headSafe :: forall a. [a] -> Maybe a
35+headSafe = \xs -> case xs of
39+tail :: forall a. [a] -> [a]
40+tail = \xs -> case xs of
43+tailSafe :: forall a. [a] -> Maybe [a]
44+tailSafe = \xs -> case xs of
48+extern length :: forall a. [a] -> Number
50+extern indexOf :: forall a. [a] -> a -> Number
52+extern lastIndexOf :: forall a. [a] -> a -> Number
54+extern concat :: forall a. [a] -> [a] -> [a]
56+extern join :: [String] -> String
58+extern joinWith :: [String] -> String -> String
60+extern push :: forall a. [a] -> a -> [a]
62+extern reverse :: forall a. [a] -> [a]
64+extern shift :: forall a. [a] -> [a]
66+extern slice :: forall a. Number -> Number -> [a] -> [a]
68+extern sort :: forall a. [a] -> [a]
70+extern splice :: forall a. Number -> Number -> [a] -> [a] -> [a]
74+extern lengthS :: String -> Number
76+extern charAt :: Number -> String -> String
78+extern indexOfS :: String -> String -> Number
80+extern lastIndexOfS :: String -> String -> Number
82+extern localeCompare :: String -> String -> Number
84+extern replace :: String -> String -> String -> String
86+extern sliceS :: Number -> Number -> String -> String
88+extern split :: String -> String -> [String]
90+extern substr :: Number -> Number -> String -> String
92+extern substring :: Number -> Number -> String -> String
94+extern toLower :: String -> String
96+extern toUpper :: String -> String
98+extern trim :: String -> String
102+extern data Regex :: *
104+extern regex :: String -> String -> Regex
106+extern test :: Regex -> String -> Boolean
108+extern match :: Regex -> String -> [String]
110+extern replaceR :: Regex -> String -> String -> String
112+extern search :: Regex -> String -> Number
118+extern infinity :: Number
120+extern toExponential :: Number -> String
122+extern toFixed :: Number -> Number -> String
124+extern toPrecision :: Number -> Number -> String
126+extern numberToString :: Number -> String
128+extern isNaN :: Number -> Boolean
130+extern isFinite :: Number -> Boolean
132+extern parseFloat :: String -> Number
134+extern parseInt :: String -> Number
136+extern encodeURIComponent :: String -> String
138+extern decodeURIComponent :: String -> String
140+extern encodeURI :: String -> String
142+extern decodeURI :: String -> String