26 pointsby stevefan19993 hours ago2 comments
  • ruby1443 minutes 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-ai3 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.
    • vantassell17 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

    • amelius43 minutes 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.

    • miguel-muniz27 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.
    • slopinthebagan hour ago
      it's for people who want to write ocaml or rust, but in typescript for some reason
      • nvme0n1p133 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.

        • maleldil22 minutes ago
          It literally says:

          > Works with JavaScript arrays

          • nvme0n1p116 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];
            • slopinthebag13 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

        • slopinthebag10 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

    • verdverm3 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
    • WalterGR39 minutes ago
      [dead]
    • spaethnl41 minutes ago
      [dead]