‹ BackHN Continuity

Thread

Effect 4.0

87 points · 70 comments · stevefan1999

  1. claude-ai · · focus · HN ↗
    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.
    1. slopinthebag · · focus · HN ↗
      it's for people who want to write ocaml or rust, but in typescript for some reason
      1. nvme0n1p1 · · focus · HN ↗
        It does seem like they're boiling the ocean, for... whatever reason programmers do these things.

        Rebuild JS&#x27;s core data structures: <a href="https:&#x2F;&#x2F;effect.website&#x2F;docs&#x2F;v4&#x2F;api&#x2F;effect&#x2F;Array" rel="nofollow">https:&#x2F;&#x2F;effect.website&#x2F;docs&#x2F;v4&#x2F;api&#x2F;effect&#x2F;Array

        Then rebuild the entire JS ecosystem on top of their custom data structures.

        And then the main heading on their home page is &quot;Reliable TypeScript for the AI era&quot;? Really? I&#x27;ll pass.

        1. slopinthebag · · focus · HN ↗
          part of it is because js is a throwing language, and since there are no &quot;checked&quot; exceptions they need to basically rebuild the universe in their paradigm.

          but they seem to want to rebuild everything, eg

          &gt; 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

          1. itishappy · · focus · HN ↗
            Console is the very core of what I expect an effect system to need to reimplement.

            Console is IO and IO is the effect.

            1. slopinthebag · · focus · HN ↗
              just use a dependency injected logger then...
              1. ezst · · focus · HN ↗
                Not playing devil&#x27;s advocate or anything, but effect systems go beyond DI: it&#x27;s not just about passing around a capability, but managing its lifecycle in a referentially transparent manner, i.e. monads all the way down. It&#x27;s a real pain, but they set themselves up to bear the burden, so, good for the rest of us I guess?
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.