/fp-ts

Functional programming in TypeScript

Primary LanguageTypeScriptMIT LicenseMIT

Functional programming in TypeScript

build status dependency status npm downloads

Inspired by PureScript, static-land, Scala.

The idea (faking higher kinded types in TypeScript) is based on Lightweight higher-kinded polymorphism

Installation

To install the stable version:

npm install --save fp-ts

TypeScript compatibility

The stable version is tested against TypeScript 3.1.1, but should run with TypeScript 2.3.0+ too

Ecosystem

  • io-ts - TypeScript compatible runtime type system for IO validation
  • monocle-ts - Functional optics: a (partial) porting of scala monocle to TypeScript
  • newtype-ts - Implementation of newtypes in TypeScript
  • logging-ts - Composable loggers for TypeScript
  • fp-ts-routing - A type-safe bidirectional routing library for TypeScript
  • parser-ts - String parser combinators for TypeScript
  • remote-data-ts - RemoteData type (check this article)
  • retry-ts - Retry combinators for monadic actions that may fail
  • fp-ts-local-storage - fp-ts bindings for LocalStorage

Bindings

Documentation

Internals

Examples

Type Classes

License

The MIT License (MIT)