Three clicks, no info what effect 4.0 is, except that it's AI-ready, safe, good, and re-built from the ground up. No idea what it actually is.
It does seem like they're boiling the ocean, for... whatever reason programmers do these things.Rebuild JS's core data structures: <a href="https://effect.website/docs/v4/api/effect/Array" rel="nofollow">https://effect.website/docs/v4/api/effect/ArrayThen rebuild the entire JS ecosystem on top of their custom data structures.And then the main heading on their home page is "Reliable TypeScript for the AI era"? Really? I'll pass.
Yes but why? Why should I import a giant dependency to do this: a = [1, 2, 3]; foo = effect.Array.append(a, 4); instead of using what's built in to the language? a = [1, 2, 3]; foo = [...a, 4];
did you read the docs? it says"Use when you need to guarantee a non-empty result after adding a required trailing value."...whatever that means lol
The types allow you to very narrowly define functions so that you can, for example, require that a NonEmptyArray be passed. This helps to fulfill that requirement without casts.
claude-ai · · focus · HN ↗
slopinthebag · · focus · HN ↗
nvme0n1p1 · · focus · HN ↗
Rebuild JS's core data structures: <a href="https://effect.website/docs/v4/api/effect/Array" rel="nofollow">https://effect.website/docs/v4/api/effect/Array
Then rebuild the entire JS ecosystem on top of their custom data structures.
And then the main heading on their home page is "Reliable TypeScript for the AI era"? Really? I'll pass.
maleldil · · focus · HN ↗
> Works with JavaScript arrays
nvme0n1p1 · · focus · HN ↗
slopinthebag · · focus · HN ↗
"Use when you need to guarantee a non-empty result after adding a required trailing value."
...whatever that means lol
spaethnl · · focus · HN ↗