Miss any of our Open RFC calls?Watch the recordings here! »


1.0.1 • Public • Published


Functors, Applicatives, Monads, etc. (For node.js)

Right now, famine is two things:

  1. An experiment on how close I can emulate Haskell's wonderful data types in Javascript, and
  2. A tool for Haskell developers (or other functional programmers) to use what they already know* in a programming language not equipped with the same constructs.

* As it stands, famine imposes a lot of trust in the user. I'm working to rectify this, but due to Javascript being untyped, much of famine will only be useful if the user already understands the concepts of famine's data types. If you're unfamiliar with these types, or need to brush up on Functors/Applicatives/Monads, check out the Haskell typeclassopedia.

To use: Check out the Examples folder for various usage of famine.

Famine currently exports "the usual suspects" as data types, each implementing Functor, Applicative and Monad:

  1. Identity (The trivial Functor/Monad, also a Comonad)
  2. Maybe
  3. List
  4. Either
  5. Writer
  6. State

Famine also exports some common Monoids and 2-Tuples.

All data types lie in accordance with the Fantasy Land specification.

so fantastic

Update 1.0.0

  • Function names moved to the Fantasy Land specification. Code written for famine < 1.0.0 will not be supported any longer!


npm i famine

DownloadsWeekly Downloads






Last publish


  • avatar