@@ -4,279 +4,321 @@
8− data Ordering where
9+ data Ordering
9− LT :: Ordering
10+ = LT
10− GT :: Ordering
11+ | GT
11− EQ :: Ordering
12+ | EQ
14− newtype Unit where
16+ newtype Unit
15− Unit :: { } -> Unit
17+ = Unit { }
18### Type Classes
20### Type Classes
20
22
23 class (Apply f) <= Applicative f where
26 class (Apply f) <= Applicative f where
25 pure :: forall a. a -> f a
27 pure :: forall a. a -> f a
28 class (Functor f) <= Apply f where
31 class (Functor f) <= Apply f where
30 (<*>) :: forall a b. f (a -> b) -> f a -> f b
32 (<*>) :: forall a b. f (a -> b) -> f a -> f b
33 class (Apply m) <= Bind m where
36 class (Apply m) <= Bind m where
35 (>>=) :: forall a b. m a -> (a -> m b) -> m b
37 (>>=) :: forall a b. m a -> (a -> m b) -> m b
38 class Bits b where
41 class Bits b where
40 (.&.) :: b -> b -> b
42 (.&.) :: b -> b -> b
42 (.|.) :: b -> b -> b
43 (.|.) :: b -> b -> b
44 (.^.) :: b -> b -> b
44 (.^.) :: b -> b -> b
46 shl :: b -> Number -> b
45 shl :: b -> Number -> b
48 shr :: b -> Number -> b
46 shr :: b -> Number -> b
50 zshr :: b -> Number -> b
47 zshr :: b -> Number -> b
52 complement :: b -> b
48 complement :: b -> b
55 class BoolLike b where
52 class BoolLike b where
57 (&&) :: b -> b -> b
53 (&&) :: b -> b -> b
59 (||) :: b -> b -> b
54 (||) :: b -> b -> b
61 not :: b -> b
55 not :: b -> b
64 class (Semigroupoid a) <= Category a where
59 class (Semigroupoid a) <= Category a where
66 id :: forall t. a t t
60 id :: forall t. a t t
69 class Eq a where
64 class Eq a where
71 (==) :: a -> a -> Boolean
65 (==) :: a -> a -> Boolean
73 (/=) :: a -> a -> Boolean
66 (/=) :: a -> a -> Boolean
76 class Functor f where
70 class Functor f where
78 (<$>) :: forall a b. (a -> b) -> f a -> f b
71 (<$>) :: forall a b. (a -> b) -> f a -> f b
81 class (Applicative m, Bind m) <= Monad m where
75 class (Applicative m, Bind m) <= Monad m where
84 class Num a where
79 class Num a where
86 (+) :: a -> a -> a
80 (+) :: a -> a -> a
88 (-) :: a -> a -> a
81 (-) :: a -> a -> a
90 (*) :: a -> a -> a
82 (*) :: a -> a -> a
92 (/) :: a -> a -> a
83 (/) :: a -> a -> a
94 (%) :: a -> a -> a
84 (%) :: a -> a -> a
96 negate :: a -> a
85 negate :: a -> a
99 class (Eq a) <= Ord a where
89 class (Eq a) <= Ord a where
101 compare :: a -> a -> Ordering
90 compare :: a -> a -> Ordering
104 class Semigroup a where
94 class Semigroup a where
106 (<>) :: a -> a -> a
95 (<>) :: a -> a -> a
109 class Semigroupoid a where
99 class Semigroupoid a where
111 (<<<) :: forall b c d. a c d -> a b c -> a b d
100 (<<<) :: forall b c d. a c d -> a b c -> a b d
114 class Show a where
104 class Show a where
116 show :: a -> String
105 show :: a -> String
119### Type Class Instances
108### Type Class Instances
110+#### `applicativeArr`
122 instance applicativeArr :: Applicative (Prim.Function r)
112 instance applicativeArr :: Applicative (Prim.Function r)
125 instance applyArr :: Apply (Prim.Function r)
116 instance applyArr :: Apply (Prim.Function r)
128 instance bindArr :: Bind (Prim.Function r)
120 instance bindArr :: Bind (Prim.Function r)
131 instance bitsNumber :: Bits Number
124 instance bitsNumber :: Bits Number
126+#### `boolLikeBoolean`
134 instance boolLikeBoolean :: BoolLike Boolean
128 instance boolLikeBoolean :: BoolLike Boolean
137 instance categoryArr :: Category Prim.Function
132 instance categoryArr :: Category Prim.Function
140 instance eqArray :: (Eq a) => Eq [a]
136 instance eqArray :: (Eq a) => Eq [a]
143 instance eqBoolean :: Eq Boolean
140 instance eqBoolean :: Eq Boolean
146 instance eqNumber :: Eq Number
144 instance eqNumber :: Eq Number
149 instance eqOrdering :: Eq Ordering
148 instance eqOrdering :: Eq Ordering
152 instance eqString :: Eq String
152 instance eqString :: Eq String
155 instance eqUnit :: Eq Unit
156 instance eqUnit :: Eq Unit
158 instance functorArr :: Functor (Prim.Function r)
160 instance functorArr :: Functor (Prim.Function r)
161 instance monadArr :: Monad (Prim.Function r)
164 instance monadArr :: Monad (Prim.Function r)
164 instance numNumber :: Num Number
168 instance numNumber :: Num Number
167 instance ordArray :: (Ord a) => Ord [a]
172 instance ordArray :: (Ord a) => Ord [a]
170 instance ordBoolean :: Ord Boolean
176 instance ordBoolean :: Ord Boolean
173 instance ordNumber :: Ord Number
180 instance ordNumber :: Ord Number
176 instance ordString :: Ord String
184 instance ordString :: Ord String
179 instance ordUnit :: Ord Unit
188 instance ordUnit :: Ord Unit
182 instance semigroupArr :: (Semigroup s') => Semigroup (s -> s')
192 instance semigroupArr :: (Semigroup s') => Semigroup (s -> s')
194+#### `semigroupString`
185 instance semigroupString :: Semigroup String
196 instance semigroupString :: Semigroup String
188 instance semigroupUnit :: Semigroup Unit
200 instance semigroupUnit :: Semigroup Unit
202+#### `semigroupoidArr`
191 instance semigroupoidArr :: Semigroupoid Prim.Function
204 instance semigroupoidArr :: Semigroupoid Prim.Function
194 instance showArray :: (Show a) => Show [a]
208 instance showArray :: (Show a) => Show [a]
197 instance showBoolean :: Show Boolean
212 instance showBoolean :: Show Boolean
200 instance showNumber :: Show Number
216 instance showNumber :: Show Number
203 instance showOrdering :: Show Ordering
220 instance showOrdering :: Show Ordering
206 instance showString :: Show String
224 instance showString :: Show String
209 instance showUnit :: Show Unit
228 instance showUnit :: Show Unit
212### Values
231### Values
215 (#) :: forall a b. a -> (a -> b) -> b
235 (#) :: forall a b. a -> (a -> b) -> b
218 ($) :: forall a b. (a -> b) -> a -> b
239 ($) :: forall a b. (a -> b) -> a -> b
221 (++) :: forall s. (Semigroup s) => s -> s -> s
243 (++) :: forall s. (Semigroup s) => s -> s -> s
224 (:) :: forall a. a -> [a] -> [a]
247 (:) :: forall a. a -> [a] -> [a]
227 (<#>) :: forall f a b. (Functor f) => f a -> (a -> b) -> f b
251 (<#>) :: forall f a b. (Functor f) => f a -> (a -> b) -> f b
230 (<) :: forall a. (Ord a) => a -> a -> Boolean
255 (<) :: forall a. (Ord a) => a -> a -> Boolean
233 (<=) :: forall a. (Ord a) => a -> a -> Boolean
259 (<=) :: forall a. (Ord a) => a -> a -> Boolean
236 (>) :: forall a. (Ord a) => a -> a -> Boolean
263 (>) :: forall a. (Ord a) => a -> a -> Boolean
239 (>=) :: forall a. (Ord a) => a -> a -> Boolean
267 (>=) :: forall a. (Ord a) => a -> a -> Boolean
242 (>>>) :: forall a b c d. (Semigroupoid a) => a b c -> a c d -> a b d
271 (>>>) :: forall a b c d. (Semigroupoid a) => a b c -> a c d -> a b d
245 ap :: forall m a b. (Monad m) => m (a -> b) -> m a -> m b
275 ap :: forall m a b. (Monad m) => m (a -> b) -> m a -> m b
248 asTypeOf :: forall a. a -> a -> a
279 asTypeOf :: forall a. a -> a -> a
251 cons :: forall a. a -> [a] -> [a]
283 cons :: forall a. a -> [a] -> [a]
254 const :: forall a b. a -> b -> a
287 const :: forall a b. a -> b -> a
257 flip :: forall a b c. (a -> b -> c) -> b -> a -> c
291 flip :: forall a b c. (a -> b -> c) -> b -> a -> c
260 liftA1 :: forall f a b. (Applicative f) => (a -> b) -> f a -> f b
295 liftA1 :: forall f a b. (Applicative f) => (a -> b) -> f a -> f b
263 liftM1 :: forall m a b. (Monad m) => (a -> b) -> m a -> m b
299 liftM1 :: forall m a b. (Monad m) => (a -> b) -> m a -> m b
266 otherwise :: Boolean
303 otherwise :: Boolean
269 refEq :: forall a. a -> a -> Boolean
307 refEq :: forall a. a -> a -> Boolean
272 refIneq :: forall a. a -> a -> Boolean
311 refIneq :: forall a. a -> a -> Boolean
275 return :: forall m a. (Monad m) => a -> m a
315 return :: forall m a. (Monad m) => a -> m a
278 unit :: Unit
319 unit :: Unit
281 void :: forall f a. (Functor f) => f a -> f Unit
323 void :: forall f a. (Functor f) => f a -> f Unit
@@ -285,108 +327,142 @@
289 data Fn0 :: * -> *
332 data Fn0 :: * -> *
292 data Fn1 :: * -> * -> *
336 data Fn1 :: * -> * -> *
295 data Fn10 :: * -> * -> * -> * -> * -> * -> * -> * -> * -> * -> * -> *
340 data Fn10 :: * -> * -> * -> * -> * -> * -> * -> * -> * -> * -> * -> *
298 data Fn2 :: * -> * -> * -> *
344 data Fn2 :: * -> * -> * -> *
301 data Fn3 :: * -> * -> * -> * -> *
348 data Fn3 :: * -> * -> * -> * -> *
304 data Fn4 :: * -> * -> * -> * -> * -> *
352 data Fn4 :: * -> * -> * -> * -> * -> *
307 data Fn5 :: * -> * -> * -> * -> * -> * -> *
356 data Fn5 :: * -> * -> * -> * -> * -> * -> *
310 data Fn6 :: * -> * -> * -> * -> * -> * -> * -> *
360 data Fn6 :: * -> * -> * -> * -> * -> * -> * -> *
313 data Fn7 :: * -> * -> * -> * -> * -> * -> * -> * -> *
364 data Fn7 :: * -> * -> * -> * -> * -> * -> * -> * -> *
316 data Fn8 :: * -> * -> * -> * -> * -> * -> * -> * -> * -> *
368 data Fn8 :: * -> * -> * -> * -> * -> * -> * -> * -> * -> *
319 data Fn9 :: * -> * -> * -> * -> * -> * -> * -> * -> * -> * -> *
372 data Fn9 :: * -> * -> * -> * -> * -> * -> * -> * -> * -> * -> *
322### Values
375### Values
325 mkFn0 :: forall a. (Unit -> a) -> Fn0 a
379 mkFn0 :: forall a. (Unit -> a) -> Fn0 a
328 mkFn1 :: forall a b. (a -> b) -> Fn1 a b
383 mkFn1 :: forall a b. (a -> b) -> Fn1 a b
331 mkFn10 :: forall a b c d e f g h i j k. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k) -> Fn10 a b c d e f g h i j k
387 mkFn10 :: forall a b c d e f g h i j k. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k) -> Fn10 a b c d e f g h i j k
334 mkFn2 :: forall a b c. (a -> b -> c) -> Fn2 a b c
391 mkFn2 :: forall a b c. (a -> b -> c) -> Fn2 a b c
337 mkFn3 :: forall a b c d. (a -> b -> c -> d) -> Fn3 a b c d
395 mkFn3 :: forall a b c d. (a -> b -> c -> d) -> Fn3 a b c d
340 mkFn4 :: forall a b c d e. (a -> b -> c -> d -> e) -> Fn4 a b c d e
399 mkFn4 :: forall a b c d e. (a -> b -> c -> d -> e) -> Fn4 a b c d e
343 mkFn5 :: forall a b c d e f. (a -> b -> c -> d -> e -> f) -> Fn5 a b c d e f
403 mkFn5 :: forall a b c d e f. (a -> b -> c -> d -> e -> f) -> Fn5 a b c d e f
346 mkFn6 :: forall a b c d e f g. (a -> b -> c -> d -> e -> f -> g) -> Fn6 a b c d e f g
407 mkFn6 :: forall a b c d e f g. (a -> b -> c -> d -> e -> f -> g) -> Fn6 a b c d e f g
349 mkFn7 :: forall a b c d e f g h. (a -> b -> c -> d -> e -> f -> g -> h) -> Fn7 a b c d e f g h
411 mkFn7 :: forall a b c d e f g h. (a -> b -> c -> d -> e -> f -> g -> h) -> Fn7 a b c d e f g h
352 mkFn8 :: forall a b c d e f g h i. (a -> b -> c -> d -> e -> f -> g -> h -> i) -> Fn8 a b c d e f g h i
415 mkFn8 :: forall a b c d e f g h i. (a -> b -> c -> d -> e -> f -> g -> h -> i) -> Fn8 a b c d e f g h i
355 mkFn9 :: forall a b c d e f g h i j. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j) -> Fn9 a b c d e f g h i j
419 mkFn9 :: forall a b c d e f g h i j. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j) -> Fn9 a b c d e f g h i j
358 on :: forall a b c. (b -> b -> c) -> (a -> b) -> a -> a -> c
423 on :: forall a b c. (b -> b -> c) -> (a -> b) -> a -> a -> c
361 runFn0 :: forall a. Fn0 a -> a
427 runFn0 :: forall a. Fn0 a -> a
364 runFn1 :: forall a b. Fn1 a b -> a -> b
431 runFn1 :: forall a b. Fn1 a b -> a -> b
367 runFn10 :: forall a b c d e f g h i j k. Fn10 a b c d e f g h i j k -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k
435 runFn10 :: forall a b c d e f g h i j k. Fn10 a b c d e f g h i j k -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k
370 runFn2 :: forall a b c. Fn2 a b c -> a -> b -> c
439 runFn2 :: forall a b c. Fn2 a b c -> a -> b -> c
373 runFn3 :: forall a b c d. Fn3 a b c d -> a -> b -> c -> d
443 runFn3 :: forall a b c d. Fn3 a b c d -> a -> b -> c -> d
376 runFn4 :: forall a b c d e. Fn4 a b c d e -> a -> b -> c -> d -> e
447 runFn4 :: forall a b c d e. Fn4 a b c d e -> a -> b -> c -> d -> e
379 runFn5 :: forall a b c d e f. Fn5 a b c d e f -> a -> b -> c -> d -> e -> f
451 runFn5 :: forall a b c d e f. Fn5 a b c d e f -> a -> b -> c -> d -> e -> f
382 runFn6 :: forall a b c d e f g. Fn6 a b c d e f g -> a -> b -> c -> d -> e -> f -> g
455 runFn6 :: forall a b c d e f g. Fn6 a b c d e f g -> a -> b -> c -> d -> e -> f -> g
385 runFn7 :: forall a b c d e f g h. Fn7 a b c d e f g h -> a -> b -> c -> d -> e -> f -> g -> h
459 runFn7 :: forall a b c d e f g h. Fn7 a b c d e f g h -> a -> b -> c -> d -> e -> f -> g -> h
388 runFn8 :: forall a b c d e f g h i. Fn8 a b c d e f g h i -> a -> b -> c -> d -> e -> f -> g -> h -> i
463 runFn8 :: forall a b c d e f g h i. Fn8 a b c d e f g h i -> a -> b -> c -> d -> e -> f -> g -> h -> i
391 runFn9 :: forall a b c d e f g h i j. Fn9 a b c d e f g h i j -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j
467 runFn9 :: forall a b c d e f g h i j. Fn9 a b c d e f g h i j -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j
@@ -395,6 +471,7 @@
396### Values
472### Values
399 unsafeIndex :: forall a. [a] -> Number -> a
476 unsafeIndex :: forall a. [a] -> Number -> a
@@ -403,51 +480,65 @@
407 data Eff :: # ! -> * -> *
485 data Eff :: # ! -> * -> *
410 type Pure a = forall e. Eff e a
489 type Pure a = forall e. Eff e a
413### Type Class Instances
492### Type Class Instances
494+#### `applicativeEff`
416 instance applicativeEff :: Applicative (Eff e)
496 instance applicativeEff :: Applicative (Eff e)
419 instance applyEff :: Apply (Eff e)
500 instance applyEff :: Apply (Eff e)
422 instance bindEff :: Bind (Eff e)
504 instance bindEff :: Bind (Eff e)
425 instance functorEff :: Functor (Eff e)
508 instance functorEff :: Functor (Eff e)
428 instance monadEff :: Monad (Eff e)
512 instance monadEff :: Monad (Eff e)
431### Values
515### Values
434 bindE :: forall e a b. Eff e a -> (a -> Eff e b) -> Eff e b
519 bindE :: forall e a b. Eff e a -> (a -> Eff e b) -> Eff e b
437 forE :: forall e. Number -> Number -> (Number -> Eff e Unit) -> Eff e Unit
523 forE :: forall e. Number -> Number -> (Number -> Eff e Unit) -> Eff e Unit
440 foreachE :: forall e a. [a] -> (a -> Eff e Unit) -> Eff e Unit
527 foreachE :: forall e a. [a] -> (a -> Eff e Unit) -> Eff e Unit
443 returnE :: forall e a. a -> Eff e a
531 returnE :: forall e a. a -> Eff e a
446 runPure :: forall a. Pure a -> a
535 runPure :: forall a. Pure a -> a
449 untilE :: forall e. Eff e Boolean -> Eff e Unit
539 untilE :: forall e. Eff e Boolean -> Eff e Unit
452 whileE :: forall e a. Eff e Boolean -> Eff e a -> Eff e Unit
543 whileE :: forall e a. Eff e Boolean -> Eff e a -> Eff e Unit
@@ -456,6 +547,7 @@
457### Values
548### Values
550+#### `unsafeInterleaveEff`
460 unsafeInterleaveEff :: forall eff1 eff2 a. Eff eff1 a -> Eff eff2 a
552 unsafeInterleaveEff :: forall eff1 eff2 a. Eff eff1 a -> Eff eff2 a
@@ -464,15 +556,18 @@
468 data Trace :: !
561 data Trace :: !
471### Values
564### Values
474 print :: forall a r. (Show a) => a -> Eff (trace :: Trace | r) Unit
568 print :: forall a r. (Show a) => a -> Eff (trace :: Trace | r) Unit
477 trace :: forall r. String -> Eff (trace :: Trace | r) Unit
572 trace :: forall r. String -> Eff (trace :: Trace | r) Unit
@@ -481,30 +576,38 @@
485 data ST :: * -> !
581 data ST :: * -> !
488 data STRef :: * -> * -> *
585 data STRef :: * -> * -> *
491### Values
588### Values
494 modifySTRef :: forall a h r. STRef h a -> (a -> a) -> Eff (st :: ST h | r) a
592 modifySTRef :: forall a h r. STRef h a -> (a -> a) -> Eff (st :: ST h | r) a
497 newSTRef :: forall a h r. a -> Eff (st :: ST h | r) (STRef h a)
596 newSTRef :: forall a h r. a -> Eff (st :: ST h | r) (STRef h a)
500 pureST :: forall a. (forall h r. Eff (st :: ST h | r) a) -> a
600 pureST :: forall a. (forall h r. Eff (st :: ST h | r) a) -> a
503 readSTRef :: forall a h r. STRef h a -> Eff (st :: ST h | r) a
604 readSTRef :: forall a h r. STRef h a -> Eff (st :: ST h | r) a
506 runST :: forall a r. (forall h. Eff (st :: ST h | r) a) -> Eff r a
608 runST :: forall a r. (forall h. Eff (st :: ST h | r) a) -> Eff r a
509 writeSTRef :: forall a h r. STRef h a -> a -> Eff (st :: ST h | r) a
612 writeSTRef :: forall a h r. STRef h a -> a -> Eff (st :: ST h | r) a