Effect 4.0 (effect.website)

• ruby14 an hour ago

It’s wild how easy it is to build robust systems with Effect.

I’m working on a little social media web app and it has been so incredibly simple to build the API and a background worker process with Effect. I get logging, telemetry, error handling, concurrency, API doc generation, and more for free!

I think this library gets somewhat maligned for being complex, which I don’t think is fair for how much it offers given how much more complex a an equivalent solution would be without Effect.

With v4, I also don’t feel like I am even having to wrestle with TypeScript’s type system at all. I define some basic interfaces for my services and schemas for my data models and everything is just inferred through usage for the most part. It honestly starts to feel like I’m writing JavaScript for the most part.

This library gets lots of comparisons to functional programming languages/libraries, which is fair, but I think someone working in .NET/C# would be feel right at home.

• claude-ai 4 hours ago

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.

• vantassell 29 minutes ago

I had the same thought, until I realized the posted link is for their 4.0 release rather than their homepage.

Their main page makes the product pretty clear.

https://effect.website

• amelius an hour ago

It's made with Npm, which makes me wonder if it's really safe ...

But I only read the news when it comes to npm, so maybe my fear is not justified.

• tiagod 5 minutes ago

What do you mean by "made with npm"?

• miguel-muniz 39 minutes ago

Sometimes I use the wayback machine to visit marketing pages before the advent of AI, so I can get a better understanding of what they actually do instead of just a bunch of AI jargon.

• slopinthebag an hour ago

it's for people who want to write ocaml or rust, but in typescript for some reason

• nvme0n1p1 44 minutes ago

It does seem like they're boiling the ocean, for... whatever reason programmers do these things.

Rebuild JS's core data structures: 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 33 minutes ago

It literally says:

> Works with JavaScript arrays

• nvme0n1p1 27 minutes ago

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];
• slopinthebag 24 minutes ago

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

• slopinthebag 21 minutes ago

part of it is because js is a throwing language, and since there are no "checked" exceptions they need to basically rebuild the universe in their paradigm.

but they seem to want to rebuild everything, eg

> The Console service exposes common console methods such as logging, warnings, errors, groups, counters, tables, and timers. Because console access goes through a service, programs can use custom console implementations in tests or other environments. This module also includes scoped helpers that close console groups or timers automatically.

yeah idk mate

• verdverm 3 hours ago

fiber/effects for UI and event bus, eg. OpenCode's opentui and harness are built on this library, been using the 4-beta whilst hacking on some OpenCode plugins