3 ms·
You should publish your "Elm-inspired tool" list- I bet it's pretty large. Off the top of my head: iced, react redux, bubble tea (Go lib), Roc lang. I'm sure t
by bbkane 6mo ago
You should publish your "Elm-inspired tool" list- I bet it's pretty large. Off the top of my head: iced, react redux, bubble tea (Go lib), Roc lang.
I'm sure there are lots more. I'm still waiting for someone to write an "Elm retrospective" and examine its rise and stagnation
- 1-more 6mo agoI left this comment a while back https://news.ycombinator.com/item?id=45752905 https://news.ycombinator.com/item?id=45752905 when someone asked what was up with Elm at the current moment. I left a bunch off. - Evan entered hermit mode to create Acadia, a language for an Elm-like experience querying the database. He's given conference talks about it but none have been recorded. https://acadia.engineering/ https://acadia.engineering/ This seems to have the same goals as Lamdera. - Evan hinted that 0.19.2 is coming and has asked for help profiling it https://discourse.elm-lang.org/t/help-me-profile-elm-0-19-2-compiler-speed/10521 https://discourse.elm-lang.org/t/help-me-profile-elm-0-19-2-.... In the meantime the ecosystem is getting crazy evolved. Turns out not changing the language under your feet for a few years leads to lots of development with what's currently there. Frameworks like elm-pages allowed for command line utils in Elm like elm-codegen. Elm-review lets you write linting rules with autofixes unlike anything I've used in other languages. A few people are writing forks and non-forks that target more than the browser or self-host the compiler. Every backend language I've used with decent types has a package to generate Elm types (and their decoders, and a nice way to interact with the JSON API, and deal with glue code generally). Literal forks of Elm compiler - Gren (general purpose lang targeting browser, CLI, servers) https://gren-lang.org/ https://gren-lang.org/ - Zokka (fixes a few compiler bugs and allows for custom package repos) https://discourse.elm-lang.org/t/a-new-zokka-version-bringing-private-package-repositories/9811 https://discourse.elm-lang.org/t/a-new-zokka-version-bringin... - Guida (self-hosted compiler) https://guida-lang.org/ https://guida-lang.org/ Forks that do not ever seek to change the syntax of the language and thus compile .elm files - Lamdera ("non-fork" fullstack with evergreen migrations) https://dashboard.lamdera.app/docs/starting https://dashboard.lamdera.app/docs/starting - Eco (written in Elm targeting x86 binaries via MLIR and LLVM) https://github.com/eco-lang/eco-runtime https://github.com/eco-lang/eco-runtime - Elm-run (targeting CLI and servers, self hosted) https://elm-run.dev/roadmap https://elm-run.dev/roadmap Languages inspired by it whose creators are big Elm users: - Roc (general purpose): https://www.roc-lang.org/faq https://www.roc-lang.org/faq - Gleam (targets Erlang VM and browser) https://gleam.run/cheatsheets/gleam-for-elm-users/ https://gleam.run/cheatsheets/gleam-for-elm-users/ - Cara https://cara-lang.com/ https://cara-lang.com/ Things that use the Elm architecture in other languages (linking to pages that mention the connection where possible): - Foldkit (Typescript) https://discourse.elm-lang.org/t/foldkit-the-elm-architecture-in-typescript-powered-by-effect/10579 https://discourse.elm-lang.org/t/foldkit-the-elm-architectur... - Iced (Rust): https://book.iced.rs/ https://book.iced.rs/ - Bubble Tea (Go): https://github.com/charmbracelet/bubbletea https://github.com/charmbracelet/bubbletea - Lustre (Gleam): https://github.com/lustre-labs/lustre https://github.com/lustre-labs/lustre - A list of TEA-in-Swift and React in Swift: https://gist.github.com/inamiy/bd257c60e670de8a144b1f97a07bacec https://gist.github.com/inamiy/bd257c60e670de8a144b1f97a07ba... - Redux (Javascript/Typescript): https://redux-toolkit.js.org/rtk-query/comparison https://redux-toolkit.js.org/rtk-query/comparison If you read this far and are wondering which to check out, I cannot endorse Lamdera enough. Use the same types from your DB to your frontend and write zero glue code. Migrations required to update the running frontend/backend whenever you change anything. Really changes the way you write code.
- eeue56 6mo agoYou're missing Derw from that list: https://www.derw-lang.com/ https://www.derw-lang.com/. Predates all the others, and is from a former core team member (me). I'm also the author of server-side Elm experiment known as [take-home](https://github.com/eeue56/take-home https://github.com/eeue56/take-home) from 11 years ago. I can see a lot of patterns in Sky's codebase which seem trained on Derw's codebase. Also authored the first Elm-in-Elm compiler for a limited subset for json-to-elm, then leading to a pure Elm virtual-dom implementation used for elm-html-test!
- 1-more 6mo agoI KNEW I forgot one. I'm really sorry. This list was off the dome and I was hoping to hit a Cunningham's law situation (which I did) without making anyone feel left out (which I failed).
- eeue56 6mo agoNo worries at all! I didn't take offense, it's very easy to forget one or two projects when quite frankly, Elm has managed to spawn or inspire so many!
- 1-more 6mo agoCommenting so I remember the next time I copy and paste this comment: the error messages in Rust since 2016 https://blog.rust-lang.org/2016/08/10/Shape-of-errors-to-come/ https://blog.rust-lang.org/2016/08/10/Shape-of-errors-to-com...