@@ -17,16 +17,25 @@ Types
1717Type Classes
1818~~~~~~~~~~~~
1919
20+.. figure:: images/Prelude.png
21+ :alt: Prelude
22+
23+ Prelude
2024::
2125
2226 class Alternative f where
2327 empty :: forall a. f a
2428 (<|>) :: forall a. f a -> f a -> f a
2529
26− class Applicative f where
30+ class (Apply f) <= Applicative f where
2731 pure :: forall a. a -> f a
32+
33+ class (Functor f) <= Apply f where
2834 (<*>) :: forall a b. f (a -> b) -> f a -> f b
2935
36+ class (Apply m) <= Bind m where
37+ (>>=) :: forall a b. m a -> (a -> m b) -> m b
38+
3039 class Bits b where
3140 (&) :: b -> b -> b
3241 (|) :: b -> b -> b
@@ -41,9 +50,8 @@ Type Classes
4150 (||) :: b -> b -> b
4251 not :: b -> b
4352
44− class Category a where
53+ class (Semigroupoid a) <= Category a where
4554 id :: forall t. a t t
46− (<<<) :: forall b c d. a c d -> a b c -> a b d
4755
4856 class Eq a where
4957 (==) :: a -> a -> Prim.Boolean
@@ -52,9 +60,7 @@ Type Classes
5260 class Functor f where
5361 (<$>) :: forall a b. (a -> b) -> f a -> f b
5462
55− class Monad m where
56− return :: forall a. a -> m a
57− (>>=) :: forall a b. m a -> (a -> m b) -> m b
63+ class (Applicative m, Bind m) <= Monad m where
5864
5965 class Num a where
6066 (+) :: a -> a -> a
@@ -64,9 +70,15 @@ Type Classes
6470 (%) :: a -> a -> a
6571 negate :: a -> a
6672
67− class Ord a where
73+ class (Eq a) <= Ord a where
6874 compare :: a -> a -> Ordering
6975
76+ class Semigroup a where
77+ (<>) :: a -> a -> a
78+
79+ class Semigroupoid a where
80+ (<<<) :: forall b c d. a c d -> a b c -> a b d
81+
7082 class Show a where
7183 show :: a -> Prim.String
7284
@@ -75,8 +87,6 @@ Type Class Instances
7587
7688::
7789
78− instance applicativeFromMonad :: (Monad m) => Applicative m
79−
8090 instance bitsNumber :: Bits Prim.Number
8191
8292 instance boolLikeBoolean :: BoolLike Prim.Boolean
@@ -89,14 +99,20 @@ Type Class Instances
8999
90100 instance eqNumber :: Eq Prim.Number
91101
92− instance eqString :: Eq Prim.String
102+ instance eqOrdering :: Eq Ordering
93103
94− instance functorFromApplicative :: (Applicative f) => Functor f
104+ instance eqString :: Eq Prim.String
95105
96106 instance numNumber :: Num Prim.Number
97107
98108 instance ordNumber :: Ord Prim.Number
99109
110+ instance semigroupString :: Semigroup Prim.String
111+
112+ instance semigroupoidArr :: Semigroupoid Prim.Function
113+
114+ instance showArray :: (Show a) => Show [a]
115+
100116 instance showBoolean :: Show Prim.Boolean
101117
102118 instance showNumber :: Show Prim.Number
@@ -110,13 +126,13 @@ Values
110126
111127::
112128
113− (!!) :: forall a. [a] -> Prim.Number -> a
114−
115129 (#) :: forall a b. a -> (a -> b) -> b
116130
117131 ($) :: forall a b. (a -> b) -> a -> b
118132
119− (++) :: Prim.String -> Prim.String -> Prim.String
133+ (++) :: forall s. (Semigroup s) => s -> s -> s
134+
135+ (:) :: forall a. a -> [a] -> [a]
120136
121137 (<) :: forall a. (Ord a) => a -> a -> Prim.Boolean
122138
@@ -126,7 +142,11 @@ Values
126142
127143 (>=) :: forall a. (Ord a) => a -> a -> Prim.Boolean
128144
129− (>>>) :: forall a b c d. (Category a) => a b c -> a c d -> a b d
145+ (>>>) :: forall a b c d. (Semigroupoid a) => a b c -> a c d -> a b d
146+
147+ ap :: forall m a b. (Monad m) => m (a -> b) -> m a -> m b
148+
149+ asTypeOf :: forall a. a -> a -> a
130150
131151 boolAnd :: Prim.Boolean -> Prim.Boolean -> Prim.Boolean
132152
@@ -134,10 +154,18 @@ Values
134154
135155 boolOr :: Prim.Boolean -> Prim.Boolean -> Prim.Boolean
136156
157+ concatString :: Prim.String -> Prim.String -> Prim.String
158+
159+ cons :: forall a. a -> [a] -> [a]
160+
137161 const :: forall a b. a -> b -> a
138162
139163 flip :: forall a b c. (a -> b -> c) -> b -> a -> c
140164
165+ liftA1 :: forall f a b. (Applicative f) => (a -> b) -> f a -> f b
166+
167+ liftM1 :: forall m a b. (Monad m) => (a -> b) -> m a -> m b
168+
141169 numAdd :: Prim.Number -> Prim.Number -> Prim.Number
142170
143171 numAnd :: Prim.Number -> Prim.Number -> Prim.Number
@@ -166,14 +194,37 @@ Values
166194
167195 numZshr :: Prim.Number -> Prim.Number -> Prim.Number
168196
169− on :: forall a b c. (b -> b -> c) -> (a -> b) -> a -> a -> c
170−
171197 refEq :: forall a. a -> a -> Prim.Boolean
172198
173199 refIneq :: forall a. a -> a -> Prim.Boolean
174200
201+ return :: forall m a. (Monad m) => a -> m a
202+
203+ showArrayImpl :: forall a. (a -> Prim.String) -> [a] -> Prim.String
204+
175205 showNumberImpl :: Prim.Number -> Prim.String
176206
207+ showStringImpl :: Prim.String -> Prim.String
208+
209+Module Data.Function
210+--------------------
211+
212+Types
213+~~~~~
214+
215+Type Classes
216+~~~~~~~~~~~~
217+
218+Type Class Instances
219+~~~~~~~~~~~~~~~~~~~~
220+
221+Values
222+~~~~~~
223+
224+::
225+
226+ on :: forall a b c. (b -> b -> c) -> (a -> b) -> a -> a -> c
227+
177228Module Data.Eq
178229--------------
179230
@@ -202,6 +253,25 @@ Values
202253
203254 liftRef :: forall a b. (a -> a -> b) -> Ref a -> Ref a -> b
204255
256+Module Prelude.Unsafe
257+---------------------
258+
259+Types
260+~~~~~
261+
262+Type Classes
263+~~~~~~~~~~~~
264+
265+Type Class Instances
266+~~~~~~~~~~~~~~~~~~~~
267+
268+Values
269+~~~~~~
270+
271+::
272+
273+ unsafeIndex :: forall a. [a] -> Prim.Number -> a
274+
205275Module Control.Monad.Eff
206276------------------------
207277
@@ -222,6 +292,14 @@ Type Class Instances
222292
223293::
224294
295+ instance applicativeEff :: Applicative (Eff e)
296+
297+ instance applyEff :: Apply (Eff e)
298+
299+ instance bindEff :: Bind (Eff e)
300+
301+ instance functorEff :: Functor (Eff e)
302+
225303 instance monadEff :: Monad (Eff e)
226304
227305Values
@@ -229,13 +307,13 @@ Values
229307
230308::
231309
232− bindEff :: forall e a b. Eff e a -> (a -> Eff e b) -> Eff e b
310+ bindE :: forall e a b. Eff e a -> (a -> Eff e b) -> Eff e b
233311
234312 forE :: forall e. Prim.Number -> Prim.Number -> (Prim.Number -> Eff e { }) -> Eff e { }
235313
236314 foreachE :: forall e a. [a] -> (a -> Eff e { }) -> Eff e { }
237315
238− retEff :: forall e a. a -> Eff e a
316+ returnE :: forall e a. a -> Eff e a
239317
240318 runPure :: forall a. Pure a -> a
241319