TypeScript JavaScript HTML
Permalink
Failed to load latest commit information.
.github add issue template Mar 30, 2018
.vscode Docs: format comments with `rewrap` VS Code extension Apr 22, 2018
docs-generator Docs: fix instances signature Jul 29, 2018
docs Docs: improve Option documentation Jul 29, 2018
examples Very basic Reader example Aug 7, 2018
exercises Polish: remove tsconfig from exercises Jun 15, 2018
fantas-eel-and-specification Polish: remove tsconfig from fantas-eel-and-specification Jun 15, 2018
perf Internal: optimize Either May 11, 2018
src Docs: improve Option documentation Jul 29, 2018
test Test: 100% coverage Traversable Jul 10, 2018
typings-checker Internal: fix upstream weird behaviour when type checking Type with w… Jul 18, 2018
.editorconfig FR: migrate to curried // update project Aug 16, 2017
.gitignore Internal: consider jest as test harness May 12, 2018
.prettierignore Docs: fix docs Jun 28, 2018
.prettierrc Feature/filterable (#492) Jun 25, 2018
.travis.yml travis: use node 8 Dec 18, 2017
CHANGELOG.md bump version Jul 10, 2018
HKT.md Docs: fix typo Jun 21, 2018
LICENSE update license Feb 12, 2018
README.md Very basic Reader example Aug 7, 2018
fp-ts-logo.png added fp-ts-logo to readme (#267) Nov 8, 2017
package-lock.json Internal: upgrade to typescript@3.0.1 Aug 2, 2018
package.json Internal: upgrade to typescript@3.0.1 Aug 2, 2018
tsconfig.json re-enable typings-checker Feb 12, 2018
tsconfig.tslint.json Polish: enable tslint on tests Jun 27, 2018
tslint.json Polish: enforces use of Array<T> for all types T Jun 28, 2018
type-classes.dot Docs: add new type classes to the diagram Jul 2, 2018
type-classes.svg Docs: add new type classes to the diagram Jul 2, 2018

README.md

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.0.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)