const map = (fn, arr) => {
if (!arr.length) return []
const [head, ...tail] = arr
return [fn(head, ...map(fn, tail)]
}
map :: (a -> b) -> [a] -> [b]
data List a = | |
Empty | | |
Cons a (List a) | |
deriving ( | |
Eq, | |
Ord | |
) | |
-- Type classes are pretyy cool |
const map = (fn, arr) => {
if (!arr.length) return []
const [head, ...tail] = arr
return [fn(head, ...map(fn, tail)]
}
map :: (a -> b) -> [a] -> [b]
const assert = require('assert') | |
const isEqual = (a, b) => { | |
if (a.length !== b.length) return false | |
return a.every((aElem, index) => aElem === b[index]) | |
} | |
// flip :: (a -> b -> c) -> (b -> a -> c) | |
const flip = (f) => (a, b) => f(b, a) |
const fetch = require('node-fetch') | |
const Task = require('data.task') | |
const KEY = 'KEY!' | |
const asteroidRequest = new Task((reject, resolve) => ( | |
fetch(`https://api.nasa.gov/neo/rest/v1/feed?start_date=2016-05-05&end_date=2016-05-05&api_key=${KEY}`) | |
.then((res) => res.json()) | |
.then(resolve) | |
.catch(reject) |
const { keys, assign } = Object | |
const exampleSource = { | |
first_name: 'Bob', | |
last_name: 'Boberson', | |
charity_1: '1', | |
charity_2: '2', | |
charity_3: '3' | |
} |
> const curry = require('./curry')
> const add3 = (a, b, c) => a + b + c
> add3(1, 2, 3)
6
> const curAdd3 = curry(add3)
> curAdd3(1)
[Function]
> curAdd3(1, 2)
[Function]
const { assign } = Object | |
const mergeResults = (pipeline, step) => ( | |
pipeline.then((context) => ( | |
step(context).then((result) => ( | |
assign({}, context, result) | |
)) | |
)) | |
) |
const flatMap = (array, func) => ( | |
array.reduce((result, element) => ( | |
result.concat(func(element)) | |
), []) | |
) |
module Main where | |
import System.IO | |
import Control.Concurrent | |
import Control.Concurrent.STM | |
type Error = String | |
data Payload | |
= Increment |
const URL = require('url') | |
const QS = require('qs') | |
const { createElement } = require('react') | |
const { renderToString } = require('react-dom/server') | |
const { createServer } = require('http') | |
const logger = require('connect-logger') | |
const connect = require('connect') | |
const components = require('./components') |