Where can we find the roadmap of Elm?

Hi,

I am new here and I’m planning to start using Elm for the very first time this week for a project that has been on mind for a while along with Phoenix(Elixir).

My question for the group is where can I find details concerning the roadmap of Elm? What’s the current status and what can I look forward to?

Thanks!

Kevin

9 Likes

If you like what you see now, that’s pretty much what Elm is going to be for a while.

I’m currently doing some exploratory work. It is still too early to tell which parts of that might work out, so there is no real news to share at this point.

If this works out, even in the wildest version of success, I wouldn’t expect the language or core packages to change very much. Maybe two or three years down the line it could reveal something that’d be good to fix up, but I don’t really foresee notable changes right now.

If this exploratory work does not work out, I have some more conservative projects that are good ideas that I want to circle back to at some point. Things like:

  • add a constrained type variable eq to get rid of the runtime error for (==) on functions
  • try to integrate elm test so it can run only tests that changed
  • try to get elm format using the latest parsing infrastructure so it’s not a perf bottleneck during development anymore
  • do another round on perf because I have one last idea that can squeeze out a bit more speed

These are all nice quality of life things, but with 0.19.0 and 0.19.1 taking so long, I got pretty burnt out on “incremental improvements that are good ideas, but take a very long time and aren’t very exciting to non-Elm users.” Without getting too into the details, I really needed to change things up before returning to these particular ideas.

Taking a step back, I find that working on what is interesting gives the best results, so this may change as new things come up in some exploration. For example, all the error message work in Elm began as a project to implement the --report=json flag. That work happened to reveal some cool ideas on improving error messages, and if I had been using a rigid roadmap, I might have skipped those ideas to meet the publicly-stated arbitrary deadline. We’d have a roadmap, but error messages no different than other type-inferred languages.

I think having more flexibility in planning is a major competitive advantage for Elm, but obviously it is a trade off that does not work for everyone. If someone needs more certainty, I generally recommend looking into other languages to see if they have a balance that works better for their needs. For example, languages made by big corporations are generally “less risky” on things like this, but I think you see the fruits of that kind of process in the design decisions as well. Trade offs!

Anyway, like I said at the beginning, if you like what you see now, that’s what it’s going to be for a while. Even in the best case scenario with my current explorations!

I hope this is helpful information, and I hope you have a good experience with Elm, even if you ultimately find a different language that works better for you!

60 Likes

Very happy with Elm 0.19, I rather see more effort put into the libraries: remove some odd restrictions and open up more access to browser APIs. All incremental stuff :slight_smile: Perhaps you could ask someone to take care of that stuff? So you can focus more on the longer term future, whatever that might be.

11 Likes

I really like how the language currently is and I always look back when I use a different language for a project. So its good to see that there is some activity but no need to rush anything.

While this isn’t an official roadmap, I find it interesting to hear what you’re working on from time to time. I’d love to see more of these kinds of posts describing what’s on the horizon (aka 1 or 2 years in the future) even if it’s not guaranteed to happen.

25 Likes

Same. TypeScript and JavaScript make me absolutely pissed off whenever I use it. Elm never has this runtime error:

image

2 Likes

Its great to get an update once in while. I’m strangely excited about the prospect of years of stability ahead. :grin:

Packages and third party tools are where Elm is growing, and that is all community led.

12 Likes

Absolutely, whenever I have a look at this forum I have this wishful feeling to see something about how elm is evolving…

1 Like

Hi Evan, even if there are no real news to share, maybe you could share something about the exploratory work you are doing ? That would be interesting. Also, maybe the community can give you valuable feedback ?

4 Likes

While I don’t want to interfere with your process, I always enjoy reading these short descriptions of your current work on Elm.

Excited to see if your exploration will come to fruition :sunny:

6 Likes

Hi there,

excited to see what’s next for Elm. I’m also pretty happy with how 0.19 turned out. One thing I always wonder about is where coverage of the Browser APIs ranks in the overall plans for Elm. I remember it was said to be one of the post 0.19 goals, but there hasn’t been a lot of talk about it since.
Is this still one of the goals to make web platform support broader?
Things like:

  • CSS custom properties for web component interop
  • ES6 module compiler output for modern module loading
  • sending binary over ports for WebGL
  • … I guess for everything else, there’s ports.
8 Likes

I would love to see also little incremental improvements, like the ability to specify the destination directory of elm-stuff: The build system we are using really complains about generated files …

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.