Road to Elm 1.0

(elm-lang.org)

104 points | by wolfadex 1 hour ago

16 comments

  • auslegung 50 minutes ago
    About two years ago I was experimenting with ChatGPT vibecoding a snake game in the browser in elm, because elm is my favorite language. It was rough going and I concluded at the time that LLM‘s might kill elm. Today I use elm in production and LLMs are vastly better at it, and if anything I think LLM‘s might increase elm adoption because it is the ideal language for an LLM right now. It’s a simpler language than most, it’s stable, it has an opinionated architecture built into the language which causes most code bases to be very similar to one another
    • giancarlostoro 7 minutes ago
      On that note, because of AI I've been more into music, bought a midi keyboard, got real DAW software setup. I've also finally built more and more with Rust, and have been reading more Rust docs. LLMs should never be an excuse not to learn the things you're using it for, those are the bad engineers. An LLM affords me the time to research and learn what it gave me so I can maintain it. It's easier to prompt about the problem if you understand it.
    • rapind 7 minutes ago
      Maybe it's improved, but I was very disappointed to find agents constantly tripping over significant white space with Elm (Claude Code). Always struck me as strange since they are very proficient with python... and Elm has been one of the most stable modern languages (so stable that people complain about it never changing!). I think the last time I tried was a year ago though, so I assume it has improved.
    • katemaster009 18 minutes ago
      Fair point. I hadn't thought about it that way, but I would still hesitate if the ecosystem isn't moving forward.
  • surprisetalk 1 hour ago
    I wrote a thing in 2023 about why I'm still using Elm:

    https://taylor.town/elm-2023

    It's 2026, and I'm still using Elm for all the same reasons :)

    As an added bonus, Claude seems to play very very nicely with Elm:

    https://taylor.town/diggit-000

  • lambdas 33 minutes ago
    Did the restrictions on JavaScript get resolved? IIRC, they made it so you had to use their “Ports” mechanism to interface with JavaScript, and you couldn’t write your own wrappers.

    There was some drama when someone forked it so you could write your own JavaScript wrappers/FFI too?

  • OhSoHumble 1 hour ago
    Oh my God, I had no idea this project was still alive. I don't mean to throw any shade but I had assumed that the lid was on this turkey.
    • hobofan 54 minutes ago
      The project was dead. The previous release was 7 years ago, where it stopped because the creator (same as author of this announcement) stopped maintaining it and since the community hasn't progress beyond a BDFL-model that's where it died.

      So it was dead, it just now has been resurrected (and AFAIK with a whithered community in the meantime).

      • asgr 41 minutes ago
        your definition of dead is elms definition of stability, I think :D haha

        javascriptland really warps peoples minds on stability and project-liveness

        • idoubtit 11 minutes ago
          > your definition of dead is elms definition of stability

          If Elm's definition of stability is keeping bugs and runtime errors for years, then I'm glad I stopped using Elm long ago.

          Not only were the issues unaddressed, but for the past years the PR got no human response. For instance this one¹ fixes infinite loops in the core. [¹]: https://github.com/elm/core/pull/1137

        • kccqzy 23 minutes ago
          You are not wrong, but there’s still a difference between being dead and very stable. In the case of languages that compile to JS, I would look at ClojureScript as the prime example of stability rather than Elm. I mean Elm has removed features breaking compat; ClojureScript doesn’t do that.
          • hobofan 18 minutes ago
            > I mean Elm has removed features breaking compat

            To be fair, Elm hasn't made it to 1.0 (yet). That's where languages should make breaking changes before being stuck with the flaws forever.

        • hobofan 23 minutes ago
          I've head the displeasure of working with more than one Elm zealot in the past, and also allowed a service to make it into production (which was a huge disaster). Due to that, I know a lot more about Elm that I'd like to.

          I think the "Elm is stable not dead" seen from the few people that stuck around with Elm is largely cope for being stuck with an unmaintained language. Languages, like all other pieces of software need maintenance or they degrade in the world moving around it (e.g. there is/was no official aarch64 build of Elm in the period of non-maintenance).

          I also would say that Elm is still largely unfit for most realistic production scenarios, unless you have the manpower to build everything from scratch, as interoperability with the outside web world (JS/TS) is an afterthough, and by some parts of the community not desired.

        • jlengrand 31 minutes ago
          This, 200 times. No weekly news does not mean dead. In some specific places like this one, it means stable. (And also arguably, for good or bad reasons, why it will never become mainstream).
    • pseudocomposer 19 minutes ago
      I’ve been using Elm professionally at a very profitable, lean company the last two years. (Didn’t know it coming in, but had enough React, Redux, and other experience to learn quickly.) The Elm community would call this a feature. How much React code you wrote 6-8 years ago will work perfectly and identically with today’s React toolchain?

      It’s a whole different set of values. Good React code in 2026 looks like any compiling Elm code since 2016.

      • dminik 8 minutes ago
        Any code you wrote on a React version from 6 years ago will still work the same on that React version today. Let's make that a fair comparison.

        I get that some people like stability, but that is quite different from going without updates for 6+ years.

      • OhSoHumble 14 minutes ago
        Oh yeah, no shade against the language itself. I had fun learning it and using it for some toy development years ago - and the TEA still exists in multiple library implementations. Just wild to see the creator of the language emerge from the fog like that.
    • donatj 31 minutes ago
      I'm not deeply involved in the community, but I know people who were, and my understanding is the removal of custom infix operators lost a lot of community support. Very popular feature removed specifically because the creator of the language didn't like it, and despite large community cries for it to remain.

      In my eyes, it was probably the right decision technically, but deeply unpopular and probably the wrong decision socially.

    • subarctic 1 hour ago
      Same, I basically assumed the community around it had died out. But i guess the sole maintainer/creator is still around.

      I never used elm except for doing a tutorial, but lately I've built a full stack gleam app (using coding agents for the most part, with a lot of control in the beginning on the structure of the code) and have found that process works quite well

    • ale 1 hour ago
      I know right. I’m glad DSLs have fallen out of fashion. Just use the platform.
      • chipdale 28 minutes ago
        I can understand why developers might not care for DSLs, especially when they force a choice between entirely different toolsets and toolchains.

        However, I feel people often miss the real value of a good DSL: it's not about the syntax, but about providing hardened semantics that can bolster or guarantee desired qualities. Elm, for instance, provides value insofar as it makes producing runtime exceptions significantly more difficult.

        Personally, I hope languages like Lean, which provides exceptional support for creating DSLs within the language, renew interest in semantically sound DSLs, especially if we insist on using LLMs.

    • kayo_20211030 50 minutes ago
      I'm glad it's back. Elm had such a remarkable elegance I was always rooting for it.
    • shiqi_Rao 58 minutes ago
      wow careful, this turkey still has some kick left in it!
  • willdr 32 minutes ago
    Did they walk back that thing where certain language features could only be used by the Elm team? That seemed like a language-killer to me.
  • chuckadams 4 minutes ago
    I'm interested less in getting to Elm 1.0 than getting past Elm 0.19, which is the version that locked everyone but Elm's author out of writing native modules. Far as I can tell, that pretty well marked the end of Elm.
  • whichdan 1 hour ago
    There's a lot to love about Elm, and I've written quite a bit of production code with it starting around 0.18.0. But in 2026 I'm not sure why a company would newly choose a language that hasn't otherwise been updated in nearly 7 years.
    • auslegung 54 minutes ago
      Stability. It works. Frequent breaking changes to core functionality of your tech stack is not a feature, it’s a bug.
      • Munksgaard 42 minutes ago
        Does it though? They are many longstanding bugs reported in their compiler repository, and this release doesn't seem to address any of them.
      • nh23423fefe 12 minutes ago
        Weird not to mention Elm's massive breaking change that killed the project?
  • bingemaker 48 minutes ago
    I remember using Elm in one of my gigs. After I left, the client hated me. Not to forget all the drama that it had before Covid. I really want this language to succeed, but its bdfl is trying hard....
  • _joel 10 minutes ago
    Is it me, the code examples look awful to read?
  • akst 33 minutes ago
    Wish them all the best, I really respected the efforts made to normify some of ideas with unapologetic mathematic names like monads and such

    But then you see stuff like this https://lukeplant.me.uk/blog/posts/why-im-leaving-elm/

    The author is very charitable in their description of the Elm Core teams actions in these interactions, but you read it and they come off entirely unaccountable and dismissive. If they want to make a purely functional language locked down, you really should be upfront that they don't have time to make sure basic parts of the web ecosystem are arbitrarily locked off like i18n until they decide users of their langauge are permitted to use it after ruling out any suggestion it doesn't undermine the purity they were going for.

    https://discourse.elm-lang.org/t/bindings-for-intl/1264

    Gonna be honest, really got the impression the maintainer here couldn't be stuffed looking to it, and wasn't personally impacted and largely didn't give a shit. Proceeds to run off some bullshit to dismiss the issue entirely about it being too risky (he had better things to do, and anyone he can delegate this too does too), the poster offers to do the work write a report, etc, etc. Then he's ghosted and for some reason the thread is shut after 10 days lol??? I guess giving him the dignity of a reply is out of the core teams hands because of how they arbitrarily configured their discourse.

    Don't blame that dude for leaving Elm, glad I never made the mistake of wasting my time being dependent on its infantilizating runtime.

    Look if you want to avoid being too coupled to the runtime your language exists in, sounds like a cool experiment, but maybe don't drag everyone along with you until you figure out the basic issues.

    All that is 6 years ago hopefully they're more self aware.

  • pyrale 54 minutes ago
    > ... and others are more visible features like equatable and hashable types.

    I love Elm, and I love the community, but I feel a little gaslit here.

  • desireco42 11 minutes ago
    I hope to see progress in the future. I loved Elm and it made me a better programmer. Things changed a lot since then, but beauty of Elm is not matched by any language.

    Also, if you ever had to refactor anything, there is no language in the world that makes it as easy to change things.

    Hope to see more releases in the future.

  • imbnwa 15 minutes ago
    So many casualties in that period of groping around in functional programming concepts for the frontend from, like, 2014 - 2020 or so. But a lot of good things endured from that at least.
  • dzonga 1 hour ago
    used elm between 2016-17.

    it taught me a lot of things - such as simplicity. when I ended up switching to react - redux was easy to pick up cz of elm.

    sadly the ecosystem never grew. but oh man elm is nice & the apps were performant.

    • sesm 32 minutes ago
      What's the Elm definition of simplicity? Genuinely asking, because the concept of simplicity is very vague and overloaded in programming.
  • asgr 1 hour ago
    love it see it :)
  • podnami 1 hour ago
    What is the point of actively choosing a web framework in the age of LLMs?
    • akst 26 minutes ago
      Sorry buddy this is hacker news, you probably meant to enter your prompt here --> claude.ai
    • mhitza 1 hour ago
      Stronger foundation (as to mean better tested), less accidental complexity of reinventing everything, transferability of knowledge, easier onboarding and review of changes.

      Your argument is a mirror of the snark question "why don't LLMs write in assembly?" for those not looking at the output at all.

    • haute_cuisine 1 hour ago
      The point is the same as in pre-LLM.
    • pohl 55 minutes ago
      If anything, LLMs make it easier to choose from a broad set of options. The tradeoffs are the same as pre-LLM days, but the learning curve is more favorable.
    • solumunus 33 minutes ago
      Statically typed languages with compiler hints are the absolute best languages for LLM's to work with. Successful compilation is incredible feedback, and it basically just means that there is a higher chance that the feature is in a complete and working state at the end of each agent iteration.
    • bbg2401 56 minutes ago
      Professional diligence, perhaps? A desire to not be blindly led into the kind of narrow, often first-party stack which is so often proposed by Claude Code?

      With all due respect, not everyone is afflicted with the lack of care sufficient to allow them to launch vibe coded apps as low quality as https://podnami.com. Considered technology choices are one such aspect of the practice of caring about what you're building.

    • the_gipsy 58 minutes ago
      I haven't tried it, but Elm might be a really good fit for LLMs, because it forbids taking shortcuts.
      • maicben 11 minutes ago
        It works really great with LLMs, it introduces less bugs compared with other languages