Skip to content

Instantly share code, notes, and snippets.

@dewey92
Last active April 23, 2018 13:28
Show Gist options
  • Select an option

  • Save dewey92/35bcf47baccf347e798b1107adac7654 to your computer and use it in GitHub Desktop.

Select an option

Save dewey92/35bcf47baccf347e798b1107adac7654 to your computer and use it in GitHub Desktop.
Map Reader
interface Reader<D, A> {
(deps: D): A
}
// Hindley-Milner style:
// Reader d a = d -> a
const fmap = <D, A, B>(f: (v: A) => B, readerA: Reader<D, A>): Reader<D, B> =>
deps => f(readerA(deps))
// ES6:
// const fmap = (f, reader) => deps => f(reader(deps))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment