Skip to content

kblcuk/fp-ts

This branch is 21 commits behind gcanti/fp-ts:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

05b78c4 · Oct 24, 2023
Sep 30, 2022
Apr 20, 2023
Oct 24, 2023
Apr 25, 2023
May 3, 2023
May 6, 2021
May 3, 2023
Oct 24, 2023
May 24, 2023
Aug 16, 2017
May 3, 2023
Mar 2, 2021
Apr 4, 2020
Jul 27, 2023
May 7, 2023
Apr 2, 2019
Feb 21, 2023
Sep 24, 2020
May 10, 2023
May 10, 2023
Jul 27, 2023
Sep 20, 2022
Sep 20, 2022
May 3, 2023
May 7, 2023
Apr 25, 2023

Repository files navigation

Functional programming in TypeScript

build status npm downloads

Introduction

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

Sponsors

Unsplash
Unsplash
https://unsplash.com/

The internet’s source for visuals.
Powered by creators everywhere.

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)

About

Functional programming in TypeScript

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%