Lampiran C: Utilitas Pointfree

Dalam lampiran ini, Anda akan menemukan beberapa implementasi JavaScript dasar dari berbagai fungsi yang dijelaskan dalam buku ini.

Ingatlah bahwa implementasi ini mungkin bukan implementasi tercepat atau paling efisien di luar sana; mereka dibuat hanya untuk tujuan pendidikan.

Untuk menemukan fungsi yang lebih siap produksi, lihat ramda, lodash, atau folktale.

Perhatikan bahwa fungsi mengacu pada curry & compose fungsi yang didefinisikan dalam Lampiran A.

add

// add :: Number -> Number -> Number
const add = curry((a, b) => a + b);

append

// append :: String -> String -> String
const append = flip(concat);

chain

// chain :: Monad m => (a -> m b) -> m a -> m b
const chain = curry((fn, m) => m.chain(fn));

concat

eq

filter

flip

forEach

intercalate

join

last

map

match

prop

reduce

replace

reverse

safeHead

safeLast

safeProp

sequence

sortBy

split

take

toLowerCase

toString

toUpperCase

traverse

unsafePerformIO

Last updated

Was this helpful?