Need help with fp-ts?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

gcanti
6.9K Stars 374 Forks MIT License 2.5K Commits 118 Opened issues

Description

Functional programming in TypeScript

Services available

!
?

Need anything else?

Contributors list

Functional programming in TypeScript

build status dependency status npm downloads

Typed functional programming in TypeScript

fp-ts
is a library for typed functional programming in TypeScript.

fp-ts
aims to allow developers to use popular patterns and abstractions that are available in most functional languages. For this, it includes the most popular data types, type classes and abstractions such as Option, Either, IO, Task, Functor, Applicative, Monad to empower users to write pure FP apps and libraries built atop higher order abstractions.

A distinctive feature of

fp-ts
with respect to other functional libraries is its implementation of Higher Kinded Types, which TypeScript doesn't support natively.

Inspired by

Installation

To install the stable version:

npm install fp-ts

Make sure to always have a single version of

fp-ts
installed in your project. Multiple versions are known to cause
tsc
to hang during compilation. You can check the versions currently installed using
npm ls fp-ts
(make sure there's a single version and all the others are marked as
deduped
).

TypeScript compatibility

Strictness – This library is conceived, tested and is supposed to be consumed by TypeScript with the

strict
flag turned on.

|

fp-ts
version | required
typescript
version | | --------------- | ----------------------------- | | 2.0.x+ | 3.5+ | | 1.15.x+ | 3.1+ | | <= 1.14.4 | 2.8+ (*) |

(*) If you are running

< [email protected]
you have to polyfill the
unknown
type. You can use unknown-ts as a polyfill.

Documentation

Disclaimer. Teaching functional programming is out of scope of this project, so the documentation assumes you already know what FP is.

Help

If you need help with

fp-ts
check out:

Development

License

The MIT License (MIT)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.