monocle-ts
fp-ts
Our great sponsors
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 |
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
-
Deep Cloning Objects in JavaScript, the Modern Way
Instead of the "deep path properties" syntax, you might want to take the opportunity to learn about functional lenses with monocle-ts
-
I may have a crush on the TypeScript compiler, because of stuff like this
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
For anyone - anyone who's faffed around with JavaScript's spread syntax when working with nested immutable data, anyway - struggling to understand the general concept or utility of lenses, I'd encourage looking into monocle-ts. The motivation [0] that kicks off the README instantly made me a believer, and TypeScript's idiosyncratic type system makes using the library remarkably natural; it fits right in without needing to deal with anything analogous to Template Haskell.
-
Is there a cleaner way to immutably update a deeply nested attribute? (I feel like this is not very clean)
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 👓
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?
lenses help with this quite a bit, check out monocle-ts
fp-ts
-
Type-Safe Printf() in TypeScript
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
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
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
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?
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
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
looks like more ergonomic/focused version of fp-ts[1]
-
To`class` or not to `class`?
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
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]
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?
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