Skip to content

Instantly share code, notes, and snippets.

module Functor
( Functor
, lift
, apply
, map
, Monad
, join
, flatMap
, Maybe(..)
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')
.envrc
@bradparker
bradparker / hank.hs
Last active January 26, 2017 23:18
hank
module Main where
import System.IO
import Control.Concurrent
import Control.Concurrent.STM
type Error = String
data Payload
= Increment
@bradparker
bradparker / flat-map.js
Created January 3, 2017 04:50
Flat Map
const flatMap = (array, func) => (
array.reduce((result, element) => (
result.concat(func(element))
), [])
)
@bradparker
bradparker / pipeline.js
Last active November 17, 2016 05:51
Promise pipeline with context object...
const { assign } = Object
const mergeResults = (pipeline, step) => (
pipeline.then((context) => (
step(context).then((result) => (
assign({}, context, result)
))
))
)
@bradparker
bradparker / use.md
Last active October 26, 2016 08:53
Currying is ok I guess
> 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]
@bradparker
bradparker / mutator.js
Created October 13, 2016 01:09
Mutator
const { keys, assign } = Object
const exampleSource = {
first_name: 'Bob',
last_name: 'Boberson',
charity_1: '1',
charity_2: '2',
charity_3: '3'
}
@bradparker
bradparker / by-module.md
Last active August 2, 2017 04:45
Project Structure

Modules example

A module which represents part of a Reaat app could export an array of routes and a reducer.

export {default as routes} from './routes'
export {default as reducer} from './store/reducer'

The top level application can take these exports and collect them together into the root routes def and the root reducer.

@bradparker
bradparker / task.js
Last active May 15, 2016 10:33
Task
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)