Skip to content

Instantly share code, notes, and snippets.

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

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

Select an option

Save dewey92/d4b1683e07817c7fd4fb4b97b73a7ccd to your computer and use it in GitHub Desktop.
My Reader Monad Impl
interface Reader<D, A> {
(deps: D): A
}
const fmap = <D, A, B>(f: (v: A) => B, readerA: Reader<D, A>): Reader<D, B> =>
deps => f(readerA(deps))
const bind = <D, A, B>(f: (v: A) => Reader<D, B>, readerA: Reader<D, A>): Reader<D, B> =>
deps => f(readerA(deps))(deps)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment