8 ms·
Gren – an Elm fork
- ecshafer 3y agoWhy is Elm getting forked?
- aurelius83 3y agoI mean the last commit for Elm core was in 2021. Changes require sign off that doesn’t seem likely from who is currently maintaining it. Why not fork it if you are interested in evolving ELM?
- vbezhenar 3y agoSo elm is abandoned or there's more to this story?
- lolinder 3y agoYou'll see people arguing that it's not, but I'll let you be the judge. https://elm-lang.org/news https://elm-lang.org/news https://github.com/elm/compiler/pulse/monthly https://github.com/elm/compiler/pulse/monthly https://github.com/elm/core/pulse/monthly https://github.com/elm/core/pulse/monthly https://github.com/elm/compiler/commits/master https://github.com/elm/compiler/commits/master https://github.com/elm/core/commits/master https://github.com/elm/core/commits/master
- G4BB3R 3y agoAlso: https://gotoaarhus.com/2023/sessions/2529/elm-on-the-backend https://gotoaarhus.com/2023/sessions/2529/elm-on-the-backend https://elm.studio https://elm.studio https://thestrangeloop.com/2023/the-economics-of-programming-languages.html https://thestrangeloop.com/2023/the-economics-of-programming...
- m8s 3y agoThere's more to the story in that Elm is a stable, high-quality frontend language that works as well as its creator wants it to for now. There are a lot of happy Elm users over on the Elm Slack, and it's being used in production at various companies. There's also [Elm on the Backend](https://gotoaarhus.com/2023/sessions/2529/elm-on-the-backend https://gotoaarhus.com/2023/sessions/2529/elm-on-the-backend), a recent talk given by the creator of Elm, about his experiments in using Elm as a full-stack language. There are some notes and a few photos, but no video as far as I'm aware. I'm not involved in the Elm community nor do I write it for a living though, so I'm only kind of aware of what's going on over in the Elm world.
- Cupprum 3y agoI saw the Elm on the Backend presentation. Evan would like ELM to be a full stack language. If it will work properly, you will not have to manage the message passing (JSON, XML). Seems like very interesting topic. Evan looked really psyched about.
- brabel 3y agoFrom elm.studio: "We are bringing the simplicity and friendliness of Elm to hosting. No configuration. Just press publish." And from the About Page on elm.studio: "The ultimate goal is to produce a fun and simple programming language, with the kind support and camaraderie of people who like what we do and how we do it." Very little information about what is the next step in Elm's life, or even whether they've actually left it... I guess the upcoming talk on StrangeLoop[1] may clear things up... his description on that talk hints at what he's up to: "He lives in Denmark, working alongside his wife at elm.studio to keep Elm independent and interesting." Elm may still be alive, just not publically for now. EDIT: just found this while looking for more information: https://iselmdead.info/ https://iselmdead.info/ :D [1] https://thestrangeloop.com/2023/the-economics-of-programming-languages.html https://thestrangeloop.com/2023/the-economics-of-programming...
- oxnrtr 3y ago> Why is it a good thing that Elm doesn’t get frequent updates? First of all, it means your code will last a long time! It also means the language is very stable, because features are carefully thought out before being implemented. What an absolute clown car.
- vosper 3y agoIt’s abandoned
- ecshafer 3y agohuh interesting. I played with elm a while back, and thought it was cool. I haven't kept up in its development though. Sad it got abandoned.
- canadianfella 3y ago[dead]
- hu3 3y agoFor one, it's been over 2 years without an Elm release. And there are many open bugs untracked in GitHub. https://github.com/elm/compiler/issues https://github.com/elm/compiler/issues Unrelated to your question but for those curious, here's a comparison between Gren and Elm : https://gren-lang.org/book/faq.html#what-are-the-differences-between-gren-and-elm https://gren-lang.org/book/faq.html#what-are-the-differences...
- Kiro 3y ago> No GLSL syntax. What does this mean? I know what GLSL is but I don't understand what Elm or Gren have to do with it.
- piaste 3y agoElm has a special syntax construct (similar to a Haskell quasiquote) to embed GLSL code into Elm files, and typechecking it as well. I imagins this is useful when writing shaders for WebGL apps that are written in Elm. I don't know why Gren removed them, though.
- arp242 3y agoOne boring and banal problem I ran in to was that it will output text in yellow and some other colours which are hard to read on my white terminal background, and this is hard-coded and you can't disable colours (doesn't even disable with isatty). IIRC Evan didn't really want to fix it because "just use a dark background then". This is basically why I never used elm: because the compiler is hard to use as I struggle reading its output. (Before anyone comments "why don't you change yellow in your terminal": then this will break applications such as pamix which hard-code to a black background and use yellow text on that, or applications which have a black statusbar or the like with yellow text on it – it's not so easy to choose colours that work in all scenarios and all things considered sticking to the default set is the "least broken" since almost everything has an option to just disable colours).
- Skinney 3y agoWould you mind creating a github issue for it? I’ll try to get it fixed for the december release (0.3 is releasing next week, which doesn’t leave me with enough time to do it now).
- Fitzero 3y agoObligatory https://iselmdead.info/ https://iselmdead.info/
- hu3 3y agoWe need a https://seriously-iselmdead.info https://seriously-iselmdead.info
- riwsky 3y agoisiselmdead.infodead.info
- GaggiX 3y agoI guess this site is also dead.
- frozenlettuce 3y agoGotta love the cult of personality
- klabb3 3y agoYeah sad. I appreciate the philosophy with slow careful releases and I also believe that people should be allowed to make unorthodox design choices in order to stay focused (or at least I’m not sure qualified to critique their choices). But, it seems like there’s a culture of taboo/fear/fanboyism which is clearly not healthy.
- deleted 3y ago[deleted]
- hombre_fatal 3y agoI don’t get what’s unhealthy about anything on that page. Elm’s trade offs are in plain sight. If you don’t want them, then you have plenty of warning. Frankly Elm has more of a problem with negative fanboying: people who have decided it’s not for them yet have to constantly show up to neener neener every time Elm appears on HN instead of just moving on. It’s very weird to me as someone who uses Elm daily. We get it. You don’t like it and everyone needs to know it. That it’s some sort of cult is just HN drama begging fantasy.
- G4BB3R 3y agoIt is not a fork, it started as fork to save time, but targets/focus on node and will diverge from Elm.
- resoluteteeth 3y agoI don't understand. How does that make it not a fork?
- benatkin 3y agoIt's a type of a fork but not the kind someone would expect after reading the headline. The FAQ has a similar description, but doesn't make the assertion that it's not a fork, which I disagree with: > Gren started as a fork of Elm. This is mostly considered to be an implementation detail, a way to speed up initial development. > It's not a goal of Gren to replace, or stay compatible in any way with, Elm. https://gren-lang.org/book/faq.html#what-is-the-relationship-between-gren-and-elm https://gren-lang.org/book/faq.html#what-is-the-relationship...
- jgilias 3y agoA fork is a fork. If Elm development was open to the community and the author could’ve just added Node support to Elm do you think Gren would exist?
- benatkin 3y agoI think not, but only based on chaos theory. The author of Gren wouldn't be nearly as fulfilled though.
- hombre_fatal 3y agoMeh, it only happened to fork Elm to bootstrap early development and had no plans to carry on with Elm’s development nor trajectory. People in these comments are already confused. The only interesting thing about Gren on HN is HN’s interest in Elm drama. I bet nobody here even mentions the language specifics but just meta discussion.
- josephcsible 3y agoDid they get rid of the whitelist of projects allowed to use native code (https://news.ycombinator.com/item?id=22821447 https://news.ycombinator.com/item?id=22821447, https://news.ycombinator.com/item?id=17842400 https://news.ycombinator.com/item?id=17842400, https://news.ycombinator.com/item?id=16510267 https://news.ycombinator.com/item?id=16510267)?
- brabel 3y agoThose links you provided seem to have nothing to do with "whitelist of projects allowed to use native code". Can you be more specific about what you're referring to?
- deleted 3y ago[deleted]
- josephcsible 3y agoThe articles linked by each of those posts contain numerous references to "native modules" and "kernel code". In this context, those things mean the ability to call back into JavaScript from Elm. The ability to do this exists in Elm, but it's locked down so you can't use it.
- Skinney 3y agoTo be fair: you can definitely call JS from Elm/Gren using ports, which exposes the JS world as an async service you can call. This seperation means you lose none of the guarantees of the language, while being able to communicate with the outside world. Kernel code is completely unprotected, and would allow mutations, exceptions and side-effects in "Elm world". The main problem with ports is that (1) it's an async API, which can be awkward for certain operations and (2) you cannot define a package that contains ports.
- aslilac 3y agoEven worse, it checks the git history to make sure that... - There are no changes since HEAD - The commit is signed by Robin himself ...and for those interested in the code that does this https://github.com/gren-lang/compiler/blob/main/builder/src/Git.hs#L191 https://github.com/gren-lang/compiler/blob/main/builder/src/...
- Conscat 3y agoDoes it support pattern matching with negative numbers?
- Skinney 3y agoNot sure if I got around to fix that bug. If I haven’t, a PR would be welcome :)
- sshine 3y agoBeautiful! Maintaining a fork of Elm open to development is a big commitment. But one that will be well received by many. I look forward to trying it.
- trav4225 3y agoI keep clicking on Elm stories, thinking they're going to be about Elm the email client... :-)
- worik 3y ago...if only
- quickthrower2 3y agoIf you prefer a 'release branch' to a 'fork' of Elm, you could also consider: https://github.com/elm-janitor/manifesto https://github.com/elm-janitor/manifesto Release branch basically means you get fixes. You won't get API changes, or new features. For a lot of people that stability is welcome.
- MollyRealized 3y agoI am not a technical person, so every time I see 'Elm', my first reaction is, "Why did someone fork that ancient mail client?"
- _6efo 3y agoElm has a total toxic waste dump of a community, despite being IMO a pretty good language, so I'm leery of these offshoots and forks (there are a few others as well) especially because it seems like they're created by members of Elm's core team which is the epicenter of why the community is like it is.
- Skinney 3y agoLead developer here. I think it’s a little misleading that the title of this post is «Gren - an Elm fork». While technically correct, I think there are many who will be dissapointed to find that Gren and Elm are incompatible languages. In addition to some syntax changes and improvements, Gren adds the support of a NodeJS target. It’s still early, so we don’t support all of the builtin APIs yet, but we’ll slowly get there. AMA
- rapind 3y agoAs someone who uses and is generally pleased with Elm (a large part of my product's UI is Elm) I could use more detail on what is different and especially why it is different. I did find a news post listing some differences, but it didn't really go into "why". A dedicated page outlining the differences / opinions on the changes would help me determine if this is a language I might use. Having a NodeJS (server) target is definitely interesting.
- Skinney 3y agoNo tuples: I found this to trade some convinience (no need to name anything)for worse refactoring (adding a value to a tuple or reordering the fields breaks everything, doing the same to a record doesn’t). I also improved pattern matching on records to make them more ergonomic. No automatic record constructors: same as the above, but in my experience it also confused beginners. I know of several that actively avoids it in their projects, even enforcing it with a linter rule. No GLSL: never used it, and don’t know how it works. It also broke when I upgraded the version of the Haskell compiler (Gren’s compiler is written in Haskell). For those reasons, it was removed. No reactor: never used it
- scns 3y ago> No tuples: I found this to trade some convinience (no need to name anything)for worse refactoring (adding a value to a tuple or reordering the fields breaks everything, doing the same to a record doesn’t). Did you mean better refactoring?
- lf-non 3y agoFor folks who don't care as much about iron-clad protection against mutability and side-effects, but want an elm-ish language that prioritizes functional code, derw is an interesting upcoming alternative. It also targets good interop with typescript which is a big plus in current state of frontend ecosystem. https://docs.derw-lang.com https://docs.derw-lang.com
- silasdavis 3y agoI guess you have to get over the name...
- thiht 3y agoThat’s a terrible name.
- avgcorrection 3y agoSeems like the lead developer works for the company that rewrote www.vy.no [1] in Elm. [1] “the largest transport provider in Norway” https://blogg.bekk.no/using-elm-at-vy-e028b11179eb https://blogg.bekk.no/using-elm-at-vy-e028b11179eb