fp-ts VS purescript

Compare fp-ts vs purescript and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
fp-ts purescript
97 52
10,452 8,452
- 0.4%
7.5 6.6
29 days ago 7 days ago
TypeScript Haskell
MIT License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

fp-ts

Posts with mentions or reviews of fp-ts. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-24.
  • From a Lorry Driver to Ruby on Rails Developer at 38
    1 project | news.ycombinator.com | 21 Apr 2024
    I think it’s great that functional programming is making its way into traditional imperative languages - even JavaScript (I recently came across https://gcanti.github.io/fp-ts/ as a pretty extreme example)

    Elixir/Erlang has function-level pattern matching, which I really like. I’ve yet to see it anywhere else, though my understanding is it came from Prolog.

  • Type-Safe Printf() in TypeScript
    4 projects | news.ycombinator.com | 24 Mar 2024
    While I certainly agree, I've found that this is often an indication of too-complex an architecture, and a fundamental re-think being necessary. I've had projects that depend on [fp-ts], which end up incredibly generic-heavy, but still make it entirely through a typecheck(not build- typescript's just worse at that than other tools like esbuild) in seconds-at-worse.

    Obviously depends on your organization/project/application, but I do like these things as complexity-smells.

    [fp-ts]: https://gcanti.github.io/fp-ts/

  • Introducing fp-utils a functional utility library for Deno / Node
    2 projects | /r/Deno | 10 Dec 2023
    Unlike more comprehensive functional libraries like fp-ts, each module can be imported and resolved separately. If you just need options, simply add the option module and you're good to go.
  • Blog post: graphs and monads with Typescript
    2 projects | /r/typescript | 7 Dec 2023
    While it's quite abstract, I believe it may be useful to those of you who is interested to learn more about functional programming [in Typescript] and also get more intuition on diverse programming ideas. I use fp-ts as a functional programming library there.
  • Functional Programming Library for Golang by IBM
    8 projects | news.ycombinator.com | 17 Aug 2023
    The library for TypeScript that this is influenced by is here:

    https://github.com/gcanti/fp-ts

    Interesting how both languages with this library converge to a similar syntax, due to heavy use of functions.

  • Is Scala worth learning in 2023?
    5 projects | /r/scala | 29 Jun 2023
    Learn something that pays the bill first - nowadays it's Golang/Rust react/typescript. Then you can try some pure fp libs like fp-ts and fp-core.rs, and look through existing scala cats docs. If you'll feel bad about it - that's totally fine and expectable, fp takes a paradigm shift and not that many dev able to shift their brains way of thought due to basic psychological rigidity) (inability to change habits and to modify concepts/attitudes once developed). And that's purely a staffing and management issue - folks hired randoms out of the blue, and called 'em a team.
  • Application Bootstrapping with fp-ts
    2 projects | dev.to | 24 Jun 2023
    fp-ts, a library that caters to functional programming in TypeScript, comes with some micro-abstractions that already solve a few of our needs.
  • What are some strategies for ensuring correctness and fewer errors in dynamically typed languages?
    1 project | /r/ProgrammingLanguages | 22 May 2023
    Also, don't underestimate how powerful TypeScript can be in capable hands (namely Giulio Canti's). Check out fp-ts, for instance.
  • Use Pure Functions to understand functional programming
    1 project | /r/javascript | 18 May 2023
    You are able to type it using function overloads, an example can be found here - link, line 236.
  • Error Handling Patterns
    3 projects | news.ycombinator.com | 4 May 2023
    looks like more ergonomic/focused version of fp-ts[1]

    [1] https://gcanti.github.io/fp-ts/

purescript

Posts with mentions or reviews of purescript. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-29.

What are some alternatives?

When comparing fp-ts and purescript you can also consider the following projects:

effect - A fully-fledged functional effect system for TypeScript with a rich standard library

reason - Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

ramda - :ram: Practical functional Javascript

elm-reactor

proposal-pattern-matching - Pattern matching syntax for ECMAScript

Elm - Compiler for Elm, a functional language for reliable webapps.

io-ts - Runtime type system for IO decoding/encoding

rescript-compiler - The compiler for ReScript.

TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

Idris2 - A purely functional programming language with first class types

immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity.

liquidhaskell - Liquid Types For Haskell