Our great sponsors
|6 months ago||7 days ago|
|MIT License||MIT License|
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.
I may have a crush on the TypeScript compiler, because of stuff like this
3 projects | /r/typescript | 23 May 2023
You may be interested also in checking out the implementation of Lens in monocle-ts, one of the libraries in the fp-ts ecosystem
Haskell Lens Tutorial by Exercises
2 projects | news.ycombinator.com | 6 Dec 2022
Is there a cleaner way to immutably update a deeply nested attribute? (I feel like this is not very clean)
3 projects | /r/typescript | 4 Jan 2022
You could have a look at the monocle-ts library. It was designed to deal with this kind of problem.
Simple Immutable Data w/ Spectacles 👓
5 projects | dev.to | 24 Aug 2021
spectacles-ts integrates seamlessly with the fp-ts ecosystem (it's built on top of the excellent monocle-ts library)
Why is it so difficult to modify a deeply nested state in React?
6 projects | /r/reactjs | 29 Jun 2021
lenses help with this quite a bit, check out monocle-ts
Error Handling Patterns
3 projects | news.ycombinator.com | 4 May 2023
looks like more ergonomic/focused version of 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
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".
TypeScript: why you shouldn't throw errors to control the program flow
2 projects | dev.to | 10 Apr 2023
Those familiar with more functional languages might be screaming about monads at their screens now. Indeed, if we want to go a step further than using discriminated unions, we can apply Either monads. Those come with a whole lot of useful tooling with them, like the possibility of monadic pattern matching and chaining operations. We have good experiences of using fp-ts in my team at Swappie, and even thought the initial learning curve can be steep, the benefits are useful. You can read more about monads in various blog posts all over the web, this one being a good example of Either specifically.
[AskJS] I've often read a lot of "if" statements can quickly turn into an anti pattern and convolute code. What are some strategies to avoid unnecessary "if" statements and ways to notice when you start to introduce this anti pattern?
John Carmack on Functional Programming in C++ (2018)
7 projects | news.ycombinator.com | 18 Feb 2023
An example in the wild that demonstrates this `fp-ts`'s explanation of how to do ADTs in TypeScript where you can see the comparison in PureScript is a one-liner: https://github.com/gcanti/fp-ts/blob/master/docs/guides/pure...
Ask HN: What is the “proper” way to do error-handling in TypeScript?
2 projects | news.ycombinator.com | 24 Jan 2023
I use fp-ts with its Result type, works great.
libraries you are happy that you discovered them
10 projects | /r/typescript | 27 Dec 2022
3 projects | /r/functionalprogramming | 4 Dec 2022
Why not just https://gcanti.github.io/fp-ts/?
What are some alternatives?
effect - A fully-fledged functional effect system for TypeScript with a rich standard library
proposal-pattern-matching - Pattern matching syntax for ECMAScript
io-ts - Runtime type system for IO decoding/encoding
optics-ts - Type-safe, ergonomic, polymorphic optics for TypeScript
zod - TypeScript-first schema validation with static type inference
ts-toolbelt - 👷 TypeScript's largest type utility library
neverthrow - Type-Safe Errors for JS & TypeScript