JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 88453762
  • Score
    100M100P100Q247824F

prelude.ls is the recommended base library for LiveScript, however it will work in any JavaScript environment. It provides a set of functions somewhat based off of Haskell's Prelude.

Package Exports

  • prelude-ls

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (prelude-ls) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

prelude.ls

is the recommended base library when using LiveScript, but will work in any JavaScript environment. The library is somewhat based of off Haskell's Prelude - thus the name.

Any functions which take more than one argument (and a limited amount of arguments) can be partially applied. For instance, add 4 will return a function which adds 4 to its argument.

Examples

Using LiveScript:

[1 2 3] |> map times 2 |> filter lt 5 |> fold1 add
#=> 6

Using JavaScript:

fold1(add)(filter(lt(5))(map(times(2))([1, 2, 3])));
//=> 6

prelude.ls is preloaded on the LiveScript website, you can play around with its functions there if you please.

Functions

contradict

:: x -> Bool
(x) -> not x`

equals

:: x -> y -> Bool
(x, y) --> x == y

notEquals

:: x -> y -> Bool
(x, y) --> x != y

lt

:: x -> y -> Bool
(x, y) --> x > y

lte

:: x -> y -> Bool
(x, y) --> x >= y

gt

:: x -> y -> Bool
(x, y) --> x < y

gte

:: x -> y -> Bool
(x, y) --> x <= y

andTest

:: Bool -> Bool -> Bool
(x, y) --> x and y

orTest

:: Bool -> Bool -> Bool
(x, y) --> x or y

compose

:: ...Funcs -> Func
(...funcs) -> f1 >> f2 >> ... >> fn

max

:: Num -> Num -> Num

min

:: Num -> Num -> Num

negate

:: Num -> Num
(x) -> -x

abs

:: Num -> Num

Absolute value of the number.

signum

:: Num -> (-1 | 0 | 1)

Returns -1, 0, or 1 depending on the sign of the number.

quot

:: Num -> Num -> Num
(x, y) --> ~~(x, y)

rem

:: Num -> Num -> Num
(x, y) --> x % y

div

:: Num -> Num -> Num
(x, y) --> floor(x / y)

mod

:: Num -> Num -> Num
(x, y) --> x % y

recip

:: Num -> Num
(x) -> 1 / x

pi

:: Num
3.1415...

exp

:: Num -> Num

sqrt

:: Num -> Num

log

:: Num -> Num

pow

:: Num -> Num -> Num
(x, y) --> x ^ y

sin

:: Num -> Num

tan

:: Num -> Num

cos

:: Num -> Num

asin

:: Num -> Num

atan

:: Num -> Num

atan2

:: Num -> Num -> Num

acos

:: Num -> Num

truncate

:: Num -> Num
(x) -> ~~x

round

:: Num -> Num

ceiling

:: Num -> Num

floor

:: Num -> Num

isItNaN

:: x -> Bool

add

:: Num -> Num -> Num
(x, y) --> x + y

minus

:: Num -> Num -> Num
(x, y) --> x - y

subtract

:: Num -> Num -> Num
(x, y) --> y - x

multiply (times)

:: Num -> Num -> Num
(x, y) --> x * y

divide

:: Num -> Num -> Num
(x, y) --> x / y

divideBy

:: Num -> Num -> Num
(x, y) --> y / x

even

:: Num -> Bool

odd

:: Num -> Bool

gcd

:: Num -> Num -> Num

Greatest common denominator.

lcm

:: Num -> Num -> Num

Least common multiple.

id

:: x -> x
(x) -> x

flip

:: Func -> x -> y -> z
(f, x, y) -> f y, z

error

:: Str -> ()
(msg) -> throw msg

each

:: Func -> [x] -> [y]

map

:: Func -> [x] -> [y]

cons

:: x -> [y] -> [z]

append

:: [x] -> [y] -> [z]

filter

:: Func -> [x] -> [y]

reject

:: Func -> [x] -> [y]

find

:: Func -> [x] -> y

pluck

:: Func -> [x] -> [y]
:: [x] -> x

tail

:: [x] -> [x]

last

:: [x] -> x

initial

:: [x] -> [x]

empty

:: [x] -> Bool

length

:: [x] -> Num

reverse

:: [x] -> [y]

fold (foldl)

:: Func -> x- > [y] -> z

fold1 (foldl1)

:: Func -> [y] -> z

foldr

:: Func -> x- > [y] -> z

foldr1

:: Func -> [y] -> z

andList

:: [Bool] -> Bool

orList

:: [Bool] -> Bool

any

:: Func -> [x] -> Bool

all

:: Func -> [x] -> Bool

sum

:: [Num] -> Num

product

:: [Num] -> Num

mean (average)

:: [Num] -> Num

concat

:: [[x]] -> [x]

concatMap

:: Func -> [[x]] -> [y]

maximum

:: [Num] -> Num

minimum

:: [Num] -> Num

scan

:: Func -> x -> [y] -> [z]

scan1

:: Func -> [x] -> [y]

scanr

:: Func -> x -> [y] -> [z]

scanr1

:: Func -> [x] -> [y]

replicate

:: Num -> x -> [x]

take

:: Num -> [x] -> [x]

drop

:: Num -> [x] -> [x]

splitAt

:: Num -> [x] -> [[x],[x]]

takeWhile

:: Func -> [x] -> [x]

dropWhile

:: Func -> [x] -> [x]

span

:: Func -> [x] -> [[x],[x]]

breakList

:: Func -> [x] -> [[x],[x]]

elem

:: x -> [y] -> Bool

notElem

:: x -> [y] -> Bool

lookup

:: x -> (Obj | [y]) -> z

call

:: x -> Obj -> z

zip

:: ...[x] -> [[x]]

zipWith

:: Func -> ...[x] -> [[y]]

lines

:: String -> [String]

unlines

:: [String] -> String

words

:: String -> [String]

unwords

:: [String] -> String