NPM Star
Collections
  1. Home
  2. Compare
  3. effect vs fp-ts
NPM Compare

Compare NPM packages statistics, trends, and features

CollectionsVS Code extensionChrome extensionTermsPrivacyLinkTreeIndiehackersBig Frontendqiuyumi

Unable to load comparison data. Please try again later.

No README available

<h3 align="center"> <a href="https://gcanti.github.io/fp-ts/"> <img src="./docs/fp-ts-logo.png"> </a> </h3> <p align="center"> Functional programming in TypeScript </p> <p align="center"> <a href="https://github.com/gcanti/fp-ts/actions"> <img src="https://github.com/gcanti/fp-ts/actions/workflows/main.yml/badge.svg?branch=master" alt="build status" height="20"> </a> <a href="https://www.npmjs.com/package/fp-ts"> <img src="https://img.shields.io/npm/dm/fp-ts.svg" alt="npm downloads" height="20"> </a> </p>

๐Ÿ“ข Important Announcement: fp-ts is Joining the Effect-TS Ecosystem!

We are excited to announce that the fp-ts project is officially merging with the Effect-TS ecosystem. This is a significant step forward in the functional programming landscape, bringing together two powerful libraries under one roof. Giulio Canti, the author of fp-ts, is being welcomed into the Effect organization, promising an exciting future with enhanced capabilities and support.

What This Means for New Users:

Effect-TS can be regarded as the successor to fp-ts v2 and embodies what would be considered fp-ts v3. This merger marks a significant evolution in the library's capabilities, integrating more features and functionalities tailored towards robust, type-safe, and scalable functional programming.

For more details on this merger and what it entails, please refer to the official announcement here. Additionally, you can explore more about Effect-TS and its offerings on our website and documentation.

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

  • Haskell
  • PureScript
  • Scala

Sponsors

<table> <tr> <td align="center"> <a href="https://unsplash.com/"> <img src="https://avatars.githubusercontent.com/u/9951955?s=200&v=4" width="200px;" alt="Unsplash" /> </a> <br /> <b>Unsplash</b> <br /> <a href="https://unsplash.com/">https://unsplash.com/</a> <br /> <p width="200px"> The internetโ€™s source for visuals.<br/> Powered by creators everywhere. </td> </tr> </table>

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 < typescript@3.0.1 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.

  • Docs
  • Learning Resources
  • Ecosystem
  • API Reference
    • version 2.x (current)
    • version 1.x

Help

If you need help with fp-ts check out:

  • this Discord server
  • the #fp-ts channel on FP slack.

Development

  • Code conventions

License

The MIT License (MIT)

StarsIssuesVersionUpdatedโ“˜Last publish dateCreatedโ“˜Package creation dateSizeโ“˜Minified + Gzipped size
E
effect
14,9613063.22.0a month ago4 years agoinstall size 284.8 KB
F
fp-ts
11,5301922.16.1111 months ago9 years agoinstall size 57.1 KB

Dependencies Comparison

effect

Dependencies

fast-check^3.23.1
@standard-schema/spec^1.0.0

Dev Dependencies

Peer Dependencies

fp-ts

Dependencies

Dev Dependencies

Peer Dependencies

Who's Using These Packages

effect

GDevelop
GDevelop

๐ŸŽฎ Open-source, cross-platform 2D/3D/multiplayer game engine designed for everyone.

livestore
livestore

LiveStore is a next-generation state management framework based on reactive SQLite and built-in sync engine.

supermemory-mcp
supermemory-mcp

Your memories are in ChatGPT... But nowhere else. Universal Memory MCP makes your memories available to every single LLM. No logins or paywall. One command to set it up.

effect-utils
effect-utils

A collection of production-ready Effect utilities and integrations.

Firestream
Firestream

A production ready streaming Data Warehouse.

fp-ts

wechaty
wechaty

Conversational RPA SDK for Chatbot Makers. Join our Discord: https://discord.gg/7q8NBZbQzt

boxed
boxed

Essential building-blocks for functional & safe TypeScript code

portman
portman

Port OpenAPI Specs to Postman Collections, inject test suite and run via Newman ๐Ÿ‘จ๐Ÿฝโ€๐Ÿš€

graphql-framework-experiment
graphql-framework-experiment

Code-First Type-Safe GraphQL Framework

newtype-ts
newtype-ts

Implementation of newtypes in TypeScript