{"slug": "elm", "name": "Elm", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 2, "commenters": 5, "warners": 1, "score": 1.358, "rising": 0.67, "first": "2025-11-06", "latest": "2026-09-01", "why": "For big products I use Elm, which isn't exactly the most common front-end choice but it provides a declarative programming style", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 2, "neutral": 2, "compare": 0, "warn": 1}, "spark": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], "listed": false, "loved": [], "caveat": "", "short_quote": "For big products I use Elm, which isn't exactly the most common front-end choice but it provides a declarative programming style", "icon": false, "domain": null, "github_repo": null, "official_url": "", "pricing": "", "aliases": ["Elm", "elm"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 792464256, "item_id": 49529016, "url": "https://news.ycombinator.com/item?id=49529016", "by": "flossly", "date": "2026-09-01", "stance": "recommend", "quote": "And now I understand why people like Elm.", "excerpt": "Not saying Elm does not have it's hard parts, but the solution in there is succinctly different from what you just described that I think you might even find it interesting. I used Qt, Gtk, React, Elm, JS-spagetti-with-some-jQuery-on-top... And now I understand why people like Elm.", "context": "", "use_case": "GUI development", "switched_from": "", "story": "Relm4 makes developing beautiful cross-platform applications idiomatic"}, {"id": 733503634, "item_id": 45843977, "url": "https://news.ycombinator.com/item?id=45843977", "by": "timinou", "date": "2025-11-06", "stance": "recommend", "quote": "For big products I use Elm, which isn't exactly the most common front-end choice but it provides a declarative programming style", "excerpt": "I don't buy it either. I've been building my own backend framework for the past 2.5 years, and even though it's a DSL over Python and there's no documentation online and barely one in my computer, Claude Code understands it with enough usage examples in my codebase. In front-end as well\u2014I've been able to go much farther for simple projects using alpine than more complex frameworks. For big products I use Elm, which i", "context": "", "use_case": "front-end for big products", "switched_from": "", "story": "Dead Framework Theory"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 780980400, "item_id": 48811275, "url": "https://news.ycombinator.com/item?id=48811275", "by": "Aurornis", "date": "2026-07-06", "stance": "warn", "quote": "Elm wouldn't even consider any of these.", "excerpt": "> It's also a learning lesson for people who thought that a tiny, pre-v1.0 ecosystem that already had breaking changes would never break again especially in a way they disagree with. I think it's time to just accept the lesson. This gives flashbacks of the last time I discussed this 7 years ago: Even trying to bring it up would bring denial that it was a problem. It was your fault for using it wrong. If you could dem", "context": "", "use_case": "", "switched_from": "", "story": "Road to Elm 1.0"}]}], "who": [{"by": "mghackerlady", "context": "minimal GUI-free setup", "url": "https://news.ycombinator.com/item?id=48734768", "date": "2026-06-30"}], "tags": [], "use_cases": ["gui development", "email", "plain-text email", "front-end for big products"], "compared": [{"slug": "mutt", "name": "mutt", "co": 1, "switched_from": 0, "switched_to": 1}, {"slug": "react", "name": "React", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49446705", "title": "Relm4 makes developing beautiful cross-platform applications idiomatic", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48803364", "title": "Road to Elm 1.0", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48702320", "title": "Old Computer Challenge", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46564116", "title": "Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45843220", "title": "Dead Framework Theory", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {"neutral": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {"neutral": 1}, "2026-07": {"warn": 1}, "2026-08": {}, "2026-09": {"recommend": 1}, "2026-10": {}}, "quotes": [{"id": 792464256, "item_id": 49529016, "url": "https://news.ycombinator.com/item?id=49529016", "by": "flossly", "date": "2026-09-01", "stance": "recommend", "quote": "And now I understand why people like Elm.", "excerpt": "Not saying Elm does not have it's hard parts, but the solution in there is succinctly different from what you just described that I think you might even find it interesting. I used Qt, Gtk, React, Elm, JS-spagetti-with-some-jQuery-on-top... And now I understand why people like Elm.", "context": "", "use_case": "GUI development", "switched_from": "", "story": "Relm4 makes developing beautiful cross-platform applications idiomatic"}, {"id": 780980400, "item_id": 48811275, "url": "https://news.ycombinator.com/item?id=48811275", "by": "Aurornis", "date": "2026-07-06", "stance": "warn", "quote": "Elm wouldn't even consider any of these.", "excerpt": "> It's also a learning lesson for people who thought that a tiny, pre-v1.0 ecosystem that already had breaking changes would never break again especially in a way they disagree with. I think it's time to just accept the lesson. This gives flashbacks of the last time I discussed this 7 years ago: Even trying to bring it up would bring denial that it was a problem. It was your fault for using it wrong. If you could dem", "context": "", "use_case": "", "switched_from": "", "story": "Road to Elm 1.0"}, {"id": 779756291, "item_id": 48734768, "url": "https://news.ycombinator.com/item?id=48734768", "by": "mghackerlady", "date": "2026-06-30", "stance": "neutral", "quote": "email with elm", "excerpt": "What was the point of this comment? Yeah this is pretty much how I use my computer. I use netsurf because I can use it in the framebuffer. I use mg for text editing and file browsing (using dired), chat using ircii, and email with elm. I don't really do much that can't be done without a GUI, so I rarely use X for anything other than forwarding something from my main computer over ssh", "context": "minimal GUI-free setup", "use_case": "email", "switched_from": "", "story": "Old Computer Challenge"}, {"id": 745184833, "item_id": 46574052, "url": "https://news.ycombinator.com/item?id=46574052", "by": "lelanthran", "date": "2026-01-11", "stance": "neutral", "quote": "I used elm, then pine, then mutt", "excerpt": "> Markdown was based on the \"syntax\" already being used informally in emails and on IRC. News to me :-/ > So the author did do some searching to define the syntax. I recall using tin/rtin in 1995, and people used the org mode syntax for italics, underline and bold (not that it made any difference). Same with plain-text email (I used elm, then pine, then mutt). Same with IRC clients - convention was the org mode synta", "context": "", "use_case": "plain-text email", "switched_from": "", "story": "Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text"}, {"id": 733503634, "item_id": 45843977, "url": "https://news.ycombinator.com/item?id=45843977", "by": "timinou", "date": "2025-11-06", "stance": "recommend", "quote": "For big products I use Elm, which isn't exactly the most common front-end choice but it provides a declarative programming style", "excerpt": "I don't buy it either. I've been building my own backend framework for the past 2.5 years, and even though it's a DSL over Python and there's no documentation online and barely one in my computer, Claude Code understands it with enough usage examples in my codebase. In front-end as well\u2014I've been able to go much farther for simple projects using alpine than more complex frameworks. For big products I use Elm, which i", "context": "", "use_case": "front-end for big products", "switched_from": "", "story": "Dead Framework Theory"}]}