monocle-ts VS fp-ts

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

monocle-ts

Functional optics: a (partial) porting of Scala monocle (by gcanti)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
monocle-ts fp-ts
7 96
1,016 10,386
- -
0.0 7.5
over 1 year ago 7 days ago
TypeScript TypeScript
MIT License MIT 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.

monocle-ts

Posts with mentions or reviews of monocle-ts. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-21.

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.
  • 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.
  • 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/

  • To`class` or not to `class`?
    4 projects | /r/typescript | 26 Apr 2023
    The approach of checked errors is making a comeback. See Swift, Rust, Kotlin + Arrow.kt, and several takes on it in TypeScript: purify, fp-ts, etc.
  • For Production Users: Haskell in an age of Rust and Python
    3 projects | /r/haskell | 21 Apr 2023
    Yeah, TypeScript is shockingly good for a language that is so compatible with JavaScript. For example fp-ts. The main problem with TypeScript is pervasive mutability and side-effects.
  • Why I use Typescript nominal types [3via series part 3]
    3 projects | dev.to | 18 Apr 2023
    Back at my last job I was lucky enough to stumble upon some pretty awesome colleagues thanks to which I found even greater depths in Typescript which cemented the love even more. We used FP-TS to rewrite a legacy Feathers.js application and I learned many principles I later applied to my own full-stack "framework".

What are some alternatives?

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

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

ramda - :ram: Practical functional Javascript

proposal-pattern-matching - Pattern matching syntax for ECMAScript

purescript - A strongly-typed language that compiles to JavaScript

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

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

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

optics-ts - Type-safe, ergonomic, polymorphic optics for TypeScript

eslint-plugin-functional - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.

zod - TypeScript-first schema validation with static type inference

neverthrow - Type-Safe Errors for JS & TypeScript

ts-toolbelt - 👷 TypeScript's largest type utility library