@@ -1,88 +1,773 @@
1−Prelude
1+Module Documentation
2−=======
2+====================
4−The Prelude is a collection of standard modules which define types for standard Javascript functions, as well as some common functions that will be familiar to users of Haskell or similar functional languages.
6−Prelude Module
4+Module Prelude
7--------------
5--------------
9−=========== ============================================================ ===========================================
7+Types
10−Name Type Description
8+~~~~~
11−=========== ============================================================ ===========================================
9+
16+ data Function :: * -> * -> *
30+ class Alternative f where
31+ empty :: forall a. f a
32+ (<|>) :: forall a. f a -> f a -> f a
34+ class Applicative f where
35+ pure :: forall a. a -> f a
36+ (<*>) :: forall b. forall a. f (a -> b) -> f a -> f b
42+ shl :: b -> Prelude.Number -> b
43+ shr :: b -> Prelude.Number -> b
44+ zshr :: b -> Prelude.Number -> b
47+ class BoolLike b where
52+ class Category a where
12−``id`` ``forall a. a -> a`` Identity function
53+ id :: forall t. a t t
13−``flip`` ``forall a b c. (a -> b -> c) -> b -> a -> c`` Flips the order of a function's arguments
54+ (<<<) :: forall d. forall c. forall b. a c d -> a b c -> a b d
55+ (>>>) :: forall d. forall c. forall b. a b c -> a c d -> a b d
58+ (==) :: a -> a -> Prelude.Boolean
59+ (/=) :: a -> a -> Prelude.Boolean
61+ class Functor f where
62+ (<$>) :: forall b. forall a. Prelude.Function a b -> f a -> f b
65+ ret :: forall a. a -> m a
66+ (>>=) :: forall b. forall a. m a -> Prelude.Function a (m b) -> m b
77+ (<) :: a -> a -> Prelude.Boolean
78+ (>) :: a -> a -> Prelude.Boolean
79+ (<=) :: a -> a -> Prelude.Boolean
80+ (>=) :: a -> a -> Prelude.Boolean
83+ read :: Prelude.String -> a
86+ show :: a -> Prelude.String
93+ (Monad (m)) => instance Applicative m
95+ instance Bits Prelude.Number
97+ instance BoolLike Prelude.Boolean
99+ instance Category Prelude.Function
103+ instance Eq Prelude.String
105+ instance Eq Prelude.Number
107+ instance Eq Prelude.Boolean
109+ (Eq (a)) => instance Eq Prelude.Array a
111+ (Applicative (f)) => instance Functor f
113+ instance Num Prelude.Number
115+ instance Ord Prelude.Number
117+ instance Prelude.Show Prelude.Number
119+ instance Read Prelude.String
121+ instance Read Prelude.Boolean
123+ instance Show Prelude.String
125+ instance Show Prelude.Boolean
132+ (!!) :: forall a. Prelude.Array a -> Prelude.Number -> a
134+ (#) :: forall b. forall a. a -> Prelude.Function a b -> b
136+ ($) :: forall b. forall a. Prelude.Function a b -> a -> b
138+ (++) :: Prelude.String -> Prelude.String -> Prelude.String
140+ boolAnd :: Prelude.Boolean -> Prelude.Boolean -> Prelude.Boolean
142+ boolNot :: Prelude.Boolean -> Prelude.Boolean
144+ boolOr :: Prelude.Boolean -> Prelude.Boolean -> Prelude.Boolean
146+ flip :: forall c. forall b. forall a. Prelude.Function a (b -> c) -> b -> a -> c
14−``konst`` ``forall a b. a -> b -> a`` Defines a constant function
148+ konst :: forall b. forall a. a -> b -> a
15−``(<|)`` ``forall a b c. (a -> b) -> (b -> c) -> a -> c`` Function composition
149+
16−``(|>)`` ``forall a b c. (b -> c) -> (a -> b) -> a -> c`` Function composition
150+ numAdd :: Prelude.Number -> Prelude.Number -> Prelude.Number
17−``($)`` ``forall a b. (a -> b) -> a -> b`` Function application
151+
18−=========== ============================================================ ===========================================
152+ numAnd :: Prelude.Number -> Prelude.Number -> Prelude.Number
20−======= ===========================================
154+ numComplement :: Prelude.Number -> Prelude.Number
22−======= ===========================================
156+ numDiv :: Prelude.Number -> Prelude.Number -> Prelude.Number
23−Show Type class for types whose values can be
157+
24− converted to strings
158+ numGreater :: Prelude.Number -> Prelude.Number -> Prelude.Boolean
25−Monad Type class for type constructors which
159+
26− support ``do`` notation
160+ numGreaterEq :: Prelude.Number -> Prelude.Number -> Prelude.Boolean
27−======= ===========================================
161+
28−
162+ numLess :: Prelude.Number -> Prelude.Number -> Prelude.Boolean
164+ numLessEq :: Prelude.Number -> Prelude.Number -> Prelude.Boolean
166+ numMod :: Prelude.Number -> Prelude.Number -> Prelude.Number
168+ numMul :: Prelude.Number -> Prelude.Number -> Prelude.Number
170+ numNegate :: Prelude.Number -> Prelude.Number
172+ numOr :: Prelude.Number -> Prelude.Number -> Prelude.Number
174+ numShl :: Prelude.Number -> Prelude.Number -> Prelude.Number
176+ numShr :: Prelude.Number -> Prelude.Number -> Prelude.Number
178+ numSub :: Prelude.Number -> Prelude.Number -> Prelude.Number
180+ numXor :: Prelude.Number -> Prelude.Number -> Prelude.Number
182+ numZshr :: Prelude.Number -> Prelude.Number -> Prelude.Number
184+ refEq :: forall a. Ref a -> Ref a -> Prelude.Boolean
186+ refIneq :: forall a. Ref a -> Ref a -> Prelude.Boolean
188+ showNumber :: Prelude.Number -> Prelude.String
190+ unsafeRefEq :: forall a. a -> a -> Prelude.Boolean
192+ unsafeRefIneq :: forall a. a -> a -> Prelude.Boolean
29−String Module
194+Module Monoid
30-------------
195-------------
205+ class Monoid m where
214+ instance Monoid Prelude.String
221+ mconcat :: forall m. (Monoid (m)) => Prelude.Array m -> m
34−Regex Module
223+Module Monad
35------------
224------------
240+ (<=<) :: forall c. forall b. forall a. forall m. (Monad (m)) => Prelude.Function b (m c) -> Prelude.Function a (m b) -> a -> m c
242+ (>=>) :: forall c. forall b. forall a. forall m. (Monad (m)) => Prelude.Function a (m b) -> Prelude.Function b (m c) -> a -> m c
244+ foldM :: forall b. forall a. forall m. (Monad (m)) => Prelude.Function a (b -> m a) -> a -> Prelude.Array b -> m a
246+ join :: forall a. forall m. (Monad (m)) => m (m a) -> m a
248+ mapM :: forall b. forall a. forall m. (Monad (m)) => Prelude.Function a (m b) -> Prelude.Array a -> m [b]
250+ replicateM :: forall a. forall m. (Monad (m)) => Prelude.Number -> m a -> m [a]
252+ sequence :: forall a. forall m. (Monad (m)) => Prelude.Array (m a) -> m [a]
254+ when :: forall m. (Monad (m)) => Prelude.Boolean -> m { } -> m { }
39−Maybe Module
256+Module Maybe
40------------
257------------
266+ Just :: a -> Maybe a
276+ instance Prelude.Monad Maybe
283+ fromMaybe :: forall a. a -> Maybe a -> a
285+ maybe :: forall b. forall a. b -> Prelude.Function a b -> Maybe a -> b
44−Either Module
287+Module Either
45-------------
288-------------
295+ data Either a b where
296+ Left :: a -> Either a b
297+ Right :: b -> Either a b
307+ instance Prelude.Monad Either e
314+ either :: forall c. forall b. forall a. Prelude.Function a c -> Prelude.Function b c -> Either a b -> c
49−Arrays Module
316+Module Arrays
50-------------
317-------------
330+ instance Prelude.Alternative Prelude.Array
332+ instance Prelude.Monad Prelude.Array
334+ (Prelude.Show (a)) => instance Prelude.Show Prelude.Array a
341+ (:) :: forall a. a -> Prelude.Array a -> Prelude.Array a
343+ all :: forall a. Prelude.Function a Prelude.Boolean -> Prelude.Array a -> Prelude.Boolean
345+ any :: forall a. Prelude.Function a Prelude.Boolean -> Prelude.Array a -> Prelude.Boolean
347+ concat :: forall a. Prelude.Array a -> Prelude.Array a -> Prelude.Array a
349+ concatMap :: forall b. forall a. Prelude.Array a -> Prelude.Function a [b] -> Prelude.Array b
351+ filter :: forall a. Prelude.Function a Prelude.Boolean -> Prelude.Array a -> Prelude.Array a
353+ foldl :: forall b. forall a. Prelude.Function a (b -> b) -> b -> Prelude.Array a -> b
355+ foldr :: forall b. forall a. Prelude.Function a (b -> a) -> a -> Prelude.Array b -> a
357+ head :: forall a. Prelude.Array a -> a
359+ headSafe :: forall a. Prelude.Array a -> Maybe a
361+ indexOf :: forall a. Prelude.Array a -> a -> Prelude.Number
363+ isEmpty :: forall a. Prelude.Array a -> Prelude.Boolean
365+ joinS :: Prelude.Array Prelude.String -> Prelude.String
367+ joinWith :: Prelude.Array Prelude.String -> Prelude.String -> Prelude.String
369+ lastIndexOf :: forall a. Prelude.Array a -> a -> Prelude.Number
371+ length :: forall a. Prelude.Array a -> Prelude.Number
373+ map :: forall b. forall a. Prelude.Function a b -> Prelude.Array a -> Prelude.Array b
375+ push :: forall a. Prelude.Array a -> a -> Prelude.Array a
377+ range :: Prelude.Number -> Prelude.Number -> Prelude.Array Prelude.Number
379+ reverse :: forall a. Prelude.Array a -> Prelude.Array a
381+ shift :: forall a. Prelude.Array a -> Prelude.Array a
383+ singleton :: forall a. a -> Prelude.Array a
385+ slice :: forall a. Prelude.Number -> Prelude.Number -> Prelude.Array a -> Prelude.Array a
387+ sort :: forall a. Prelude.Array a -> Prelude.Array a
389+ splice :: forall a. Prelude.Number -> Prelude.Number -> Prelude.Array a -> Prelude.Array a -> Prelude.Array a
391+ tail :: forall a. Prelude.Array a -> Prelude.Array a
393+ tailSafe :: forall a. Prelude.Array a -> Maybe [a]
395+ zipWith :: forall c. forall b. forall a. Prelude.Function a (b -> c) -> Prelude.Array a -> Prelude.Array b -> Prelude.Array c
54−Tuple Module
397+Module Tuple
55------------
398------------
405+ type Tuple a b = { snd :: b, fst :: a }
62−`TODO`
410+Type Class Instances
63−
411+~~~~~~~~~~~~~~~~~~~~
418+ curry :: forall c. forall b. forall a. Prelude.Function (Tuple a b) c -> a -> b -> c
420+ tuple :: forall b. forall a. a -> b -> Tuple a b
422+ uncurry :: forall c. forall b. forall a. Prelude.Function a (b -> c) -> Tuple a b -> c
424+ unzip :: forall b. forall a. Prelude.Array (Tuple a b) -> Tuple [a] [b]
426+ zip :: forall b. forall a. Prelude.Array a -> Prelude.Array b -> Prelude.Array (Tuple a b)
64−Errors Module
428+Module String
65-------------
429-------------
445+ charAt :: Prelude.Number -> Prelude.String -> Prelude.String
447+ indexOfS :: Prelude.String -> Prelude.String -> Prelude.Number
449+ lastIndexOfS :: Prelude.String -> Prelude.String -> Prelude.Number
451+ lengthS :: Prelude.String -> Prelude.Number
453+ localeCompare :: Prelude.String -> Prelude.String -> Prelude.Number
455+ replace :: Prelude.String -> Prelude.String -> Prelude.String -> Prelude.String
457+ sliceS :: Prelude.Number -> Prelude.Number -> Prelude.String -> Prelude.String
459+ split :: Prelude.String -> Prelude.String -> Prelude.Array Prelude.String
461+ substr :: Prelude.Number -> Prelude.Number -> Prelude.String -> Prelude.String
463+ substring :: Prelude.Number -> Prelude.Number -> Prelude.String -> Prelude.String
465+ toLower :: Prelude.String -> Prelude.String
467+ toUpper :: Prelude.String -> Prelude.String
469+ trim :: Prelude.String -> Prelude.String
69−IORef Module
471+Module Regex
70------------
472------------
492+ match :: Regex -> Prelude.String -> Prelude.Array Prelude.String
494+ regex :: Prelude.String -> Prelude.String -> Regex
496+ replaceR :: Regex -> Prelude.String -> Prelude.String -> Prelude.String
498+ search :: Regex -> Prelude.String -> Prelude.Number
500+ test :: Regex -> Prelude.String -> Prelude.Boolean
74−Random Module
502+Module Global
75-------------
503-------------
519+ decodeURI :: Prelude.String -> Prelude.String
521+ decodeURIComponent :: Prelude.String -> Prelude.String
523+ encodeURI :: Prelude.String -> Prelude.String
525+ encodeURIComponent :: Prelude.String -> Prelude.String
527+ infinity :: Prelude.Number
529+ isFinite :: Prelude.Number -> Prelude.Boolean
531+ isNaN :: Prelude.Number -> Prelude.Boolean
533+ nan :: Prelude.Number
535+ parseFloat :: Prelude.String -> Prelude.Number
537+ parseInt :: Prelude.String -> Prelude.Number
539+ toExponential :: Prelude.Number -> Prelude.String
541+ toFixed :: Prelude.Number -> Prelude.Number -> Prelude.String
543+ toPrecision :: Prelude.Number -> Prelude.Number -> Prelude.String
79−ST Module
545+Module Math
80−---------
546+-----------
562+ abs :: Prelude.Number -> Prelude.Number
564+ aceil :: Prelude.Number -> Prelude.Number
566+ acos :: Prelude.Number -> Prelude.Number
568+ asin :: Prelude.Number -> Prelude.Number
570+ atan :: Prelude.Number -> Prelude.Number
572+ atan2 :: Prelude.Number -> Prelude.Number -> Prelude.Number
574+ cos :: Prelude.Number -> Prelude.Number
576+ exp :: Prelude.Number -> Prelude.Number
578+ floor :: Prelude.Number -> Prelude.Number
580+ log :: Prelude.Number -> Prelude.Number
582+ max :: Prelude.Number -> Prelude.Number
584+ min :: Prelude.Number -> Prelude.Number
586+ pow :: Prelude.Number -> Prelude.Number
588+ round :: Prelude.Number -> Prelude.Number
590+ sin :: Prelude.Number -> Prelude.Number
592+ sqrt :: Prelude.Number -> Prelude.Number
594+ tan :: Prelude.Number -> Prelude.Number
604+ data Eff :: # ! -> * -> *
606+ type Pure a = forall e. Eff e a
616+ instance Prelude.Monad Eff e
623+ bindEff :: forall b. forall a. forall e. Eff e a -> Prelude.Function a (Eff e b) -> Eff e b
625+ forE :: forall e. Prelude.Number -> Prelude.Number -> Prelude.Function Prelude.Number (Eff e { }) -> Eff e { }
627+ foreachE :: forall a. forall e. Prelude.Array a -> Prelude.Function a (Eff e { }) -> Eff e { }
629+ retEff :: forall a. forall e. a -> Eff e a
631+ runPure :: forall a. Pure a -> a
633+ untilE :: forall e. Eff e Prelude.Boolean -> Eff e { }
635+ whileE :: forall e. Eff e Prelude.Boolean -> Eff e { } -> Eff e { }
658+ random :: forall e. Eff random :: Random | e Prelude.Number
668+ data Error :: * -> !
681+ catchError :: forall a. forall r. forall e. Prelude.Function e (Eff r a) -> Eff err :: Error e | r a -> Eff r a
683+ throwError :: forall r. forall e. forall a. e -> Eff err :: Error e | r a
693+ data IORef :: * -> *
708+ modifyIORef :: forall r. forall s. IORef s -> Prelude.Function s s -> Eff ref :: Ref | r { }
710+ newIORef :: forall r. forall s. s -> Eff ref :: Ref | r (IORef s)
712+ readIORef :: forall r. forall s. IORef s -> Eff ref :: Ref | r s
714+ writeIORef :: forall r. forall s. IORef s -> s -> Eff ref :: Ref | r { }
84−Trace Module
716+Module Trace
85------------
717------------
737+ print :: forall r. forall a. (Prelude.Show (a)) => a -> Eff trace :: Trace | r { }
739+ trace :: forall r. Prelude.String -> Eff trace :: Trace | r { }
751+ data STRef :: * -> * -> *
764+ modifySTRef :: forall r. forall h. forall a. STRef h a -> Prelude.Function a a -> Eff st :: ST h | r { }
766+ newSTRef :: forall r. forall h. forall a. a -> Eff st :: ST h | r (STRef h a)
768+ readSTRef :: forall r. forall h. forall a. STRef h a -> Eff st :: ST h | r a
770+ runST :: forall r. forall a. forall h. Eff st :: ST h | r a -> Eff r a
772+ writeSTRef :: forall r. forall h. forall a. STRef h a -> a -> Eff st :: ST h | r { }