communityfunded / monadism

A set of practical monads implemented in TypeScript
https://communityfunded.github.io/monadism/
BSD 2-Clause "Simplified" License
18 stars 2 forks source link

Monadism

npm license GitHub issues github

A set of practical monads implemented in TypeScript, with the goal of being easy to learn and use in daily work.

Installation

Install with Yarn:

yarn add monadism

Or with npm:

npm i monadism

Then, import ES-module style:

import {Just, Nothing, maybe} from 'monadism'

Or, via require:

const {Just, Nothing, maybe} = require('monadism')

Docs

Influences

Monadism builds on the inspiration of a variety of different projects. Check them out for a deep dive into things like category theory and different data structures!

Examples

Signal

Monadism Mario

examples/signal/mario

An example of a Mario game screen using Signals to manage user input and game state. Adapted from Michael Ficarra's example at https://github.com/michaelficarra/purescript-demo-mario

Mario

Play a live demo here!

Development

Install dependencies with Yarn:

yarn

Or with npm:

npm i

To build changes to the TypeScript code:

yarn build

To build in watch mode:

yarn build.wach

To build the docs:

yarn build.docs

Authors