Evan's Presentation at Swedish Meetup

I’m VERY much looking forward to hearing anything about this event today!


I asked and was told it would not be recorded for the public.


Thanks fort bringing this up. I’m also looking forward to this :slightly_smiling_face:

1 Like

So how was the event? Was there again a sort of verbal non-disclosure agreement like last time in Denmark?


Based on the silence… I infer there was some kind of request to not disclose details of the event.

It seems hard to explain the lack of reports otherwise.

Given the audience would have been the developer community in Göteborg and there may not be a lot of overlap with visitors to this forum, I would say it is as likely that no attendee has seen this post.

Anyway, Evan did ask that folks treat it as an in-person preview and not write about it on social media, blogs, etc. so that he can announce it himself once it is ready.


Thanks @happyraul ! That is helpful to know. (I almost flew in from Canada for the event).

1 Like

Or rather once he found a way to make money with it


Hopefully they make plenty and are able to secure a bright future for Elm.


Ok, as I am one of the organizers of the event I will share some things here. First, I was really surprised over how big the interest wast and also, huge thanks to everyone that participated. We had about 100 visitors from all around Sweden and some from abroad as well.

After a short introduction Evan presented “the thing” he has been working on for a few years. At this point he does not feel ready to share this work publicly and requested that we don’t disclose anything about it yet. Yea, I know, the curiosity probably drives you crazy but all in due time. :stuck_out_tongue_winking_eye:

We also talked about many other things and I’ll like to share some of my thoughts.

Elm is not dead

Evan has not abandoned Elm or grown tired of it. That thought has for sure hit me a few times over the last years but I think he seems very motivated and focused. His goal at the moment is to create a sustainable platform on which he can continue developing and growing Elm for a long time into the future.

The silence

We talked a bit about his “radio silence” in the community. I will try to summarize my conclusions and also some personal opinions.

Let’s step back for a moment and appreciate the reason Elm has become what it is today:

  • Getting it right over getting something right now.

This takes a lot of time and effort (years). Why hurry and go with something that you see flaws in when you can see that a better solution is possible. Most choices have a lot implications in the long run even if those are not obvious at first.
On the other hand, I can understand the frustration people feels when there are open bugs to fix, PR:s to review, “obvious” features the language could have that just could be implemented. On top of this you don’t even get any response on “why?” when you ask.

Here is how I like to think about all this. Our brains are single threaded devices and we can only think about one thing at any given time. To cope with the world, our mind has two operating modes:

  1. Thinking hard about something really complex, or
  2. Context-switching between many simple things.

These two operating modes opposes each other and can not co-exist at the same time. There is also a mental cost associated with switching between them. How big this cost is depends on “how deep down the rabbit hole” you have to go. Maybe some of you can relate to this?

Unfortunately there is no way around this. If mode 1 is where you’re operating the consequence is going to be some degree of isolation and silence. Trying to prevent that would mean switching to mode 2 and not progressing. This dilemma can be really frustrating and at some point you have to take a stance and I think the release of 0.19.1 was one such a point.


As a final note, these are just my personal opinions and thoughts.
As someone running a company working with Elm for the last 7 years I must say that I am very excited about the future of Elm and where things seems to be going. I am also very grateful for all the hard work people have been putting into making it what it is.


I know the Pomodoro technique that allows context-switching every 25 minutes, but is there a name for switching context every 4+ years? Must be for big brains :wink:


@Laurent That statement sounds (to me) like it might be a criticism, without overtly stating the criticism. Am I right to infer that you are expressing frustration about a lack of context switching? i.e. “Evan should have focused more on other things over the last four years?”

I’m honestly just not sure if that’s how you meant it or if i’m reading something into it (sorry if I am).

@Matthias_Toepp well you can call it criticism (cynicism maybe?) but it’s just that having to wait for more than 4 years (will it be 5, 10, 20 years?) to have trivial bugs fixed because “batch processing is more efficient” simply makes me smile (thus the winking smiley to add a lighter tone) :wink:


@Laurent Thanks for taking the time to clairify.

Has that been a major inconvenience, to not have trivial bugs fixed?

Running our UI infrastructure on abandonware gives me some chills sometimes. I know we will have to (co-)organize a fork at some point in the future. It is not done (yet) by lack of manpower and because priorities.


I understand the frustration. I really want to use Elm at my day job, but it will be hard to convince my coworkers of an ecosystem that doesn’t accept simple bugfixes, or even typo fixes. They aren’t showstoppers, but I can understand that someone wouldn’t want to build a real world business with real money on that technology. I can ask my company to contribute a bugfix to an open source project in my job, but they will not want to pay me to maintain a complete separate fork over many years. I thought me introducing Elm at work would be important for the Elm project, but it seems I might be wrong.

I’ve heard there is a fork that incorporates bugfixes called Zokka. Unfortunately, they only fix bugs that maintain 100% compatibility to Elm.

If Evan doesn’t have the capacity for clicking the merge button, why couldn’t he invite one single trustworthy contributor to do it for him? Is there not a single trustworthy person willing to do it?


I feel exactly the same. It also scares newcomers, and I can’t blame them. A few days ago I was watching a video comparing lots of front end frameworks and the guy discouraged people from using Elm because the last release was in 2019. Sad but true.


The inconvenience - although present - is not in the bugs alone, and it piles up.

Speaking only for myself, the three problems I face the most with Elm are not really bugs:

  1. You can’t use Browser.application to build a web application with frameworks like Electron or Tauri
  2. You can’t pattern match on negative numbers (and apparently my use case isn’t real)
  3. Sending bytes through ports is cumbersome and inefficient

None of which is a showstopper on its own.

There is the general state of the tooling. From time to time I’ll have issues with the Elm language server crashing on Neovim or VSCode; I remember someone else complaining about this as well. Nothing major, just annoying.

Then, the library ecosystem - or lack thereof. Whenever I return to update one of my Elm projects I have the latent fear that some of the dependencies won’t exist anymore, either because it was deleted or the author simply changed Github username. Then I have to hope that someone else realized it and was able to fix it or fish it out of their cache.
It means that picking up Elm code has an added cost of a few hours of troubleshooting - still worth it if you ask me.

Finding a useful library is quite an issue too. Most Elm libraries are “stable” like the language, which for me means I won’t have many resources to support my work if I choose to use them.
If you search for “charts” on the Elm package registry the first 5 results are all variations of the same project from the same author, and neither has been updated in the last 3 years. Which am I meant to use?
I can - and most of the time do - just implement what I need myself.

Lastly, like many people mentioned before, there is the creeping fear that I’m working with abandonware. It’s not rational and doesn’t matter in practice - my code works after some troubleshooting - but it’s there. I’m going to be very blunt: explaining the lack of maintenance with “batches of work” sounds like an excuse, and I generally don’t believe it.
Which means nothing since the code works and I’m no one.

Nothing major once, twice, thrice… Working with Elm is delightful only once I get past all of that. I don’t do web frontend so it wouldn’t be my main tool anyway, but I’m switching more and more to stuff like native UI development or Flutter (which is a huge mess, but in practice delivers results faster and cheaper). I would love not to, but in the end I have a job to do and constantly hearing that if I’m having trouble with Elm it means it’s not for me does not help.


It isn’t a minor inconvenience for me let alone a major one. Convenience is not the issue.

The lack of quarterly blog entries / status reports and the complete lack of releases obliterates any chance of making a responsible case for using Elm in 99% of enterprise settings. The enterprise wants stability above all else because the language is a foundation on which all of their hard-work rests. Generally the larger the company the more risk averse, but even a small company is going to be justifiably nervous about building their entire future on software controlled by a single person who practically disappears for years.

Actual Ask

Let us avoid a potential strawman here: First, Even doesn’t owe anything. This is not a moral argument. Second, I don’t think the work involved is terribly significant. I believe this would have been sufficient

  • Elect one or two people he trusts to
    • Perform initial pull request reviews
    • Compile notes on the status of Elm once a quarter.
  • Spend four days of his own time each quarter
    • Final review and acceptance of the PRs that his team blessed and accepting / rejecting as he sees fit.
    • Review the quarterly notes and compose a single blog entry of < 1000 words.

Again, Evan does not owe us this work. He can do what he wants with a clear conscience.

I am not making a moral argument. This is a practical argument. Morality (and all "Even should"s) aside, the sense of stability in the language is destroyed by the creator disappearing and I am arguing that the amount of work to have maintained that sense of stability is relatively small.

The Enterprise

The counterargument I’ve heard concerning the enterprise runs something to the effect of “The enterprise is never going to adopt Elm so why change how Elm is managed to accommodate a party we cannot appease anyway.”. I strongly disagree based on my experience with C-level executives over a 25 year career. I could have confidently made the case for Elm believing that I had made a conscientious decision benefitting my employer (and not just a decision for my own benefit and enjoyment to the detriment of the business that pays me). If Evan hadn’t disappeared I could and would make that case to several leaders right now.

I simply cannot do so in good conscience at this point. I am not mad. As stated above, I have no right to be. I am very sad and I am very frustrated because…

Elm Solved Functional Programming’s Real Problem!

The real problem that needs to be solved is NOT more fancy features! It isn’t a new innovative language that does X, Y, or Z. The major problem is that embarrassingly few companies use functional programming!!!

Why? We can debate why but my very strong opinion is that the two largest factors are

  • Teachability - Which Elm SOLVED! Elm is the best functional language I could actually teach to a team in a reasonable amount of time to develop software I intend to sell. Generally the first entry to a market wins and so rapid time to market is key for a lot of endeavors. I could use Elm without compromising that initial time to market in most cases.
  • Stability - Functional programming language communities tend to be a little unstable even when the language itself is stable. People hop from one language to the next as part of selection bias. Mostly innovation seekers find FP and innovation seekers tend to seek new innovation. Elm solved this too. It is clear about its goals and its non-goals. People generally come to Elm to solve a real problem and not to indulge in fetishistic language obsession.

Elm had the winning recipe for the real outcome: Getting people to use FP. It had momentum. It was finally going to break into mainstream. Then… silence.


Some say TypeScript already won in the market of languages to replace JavaScript. TypeScript has significantly less than 20% of the JavaScript market from what I’ve seen (TIOBE). There is a lot of addressable market for Elm because Elm solves a lot of the problems people report against TypeScript

  • Complexity: Elm is actually about 5 - 10x simpler than TypeScript. You can learn Elm faster.
  • Excessive Type Annotations: Elm’s inference means that developers can write more code without type annotations which is comfortable for those coming from JavaScript.
  • Slow Compiler: The Elm compiler is faster that TypeScript’s and so provides a superior feedback loop.
  • Disconnect with JavaScript: Elm is a language that compiles to JavaScript so it sidesteps this issue. TypeScript claims to be a typed version of JavaScript but it is kinda not that.
  • And more… this is already too long so I won’t keep going with all of the ways that Elm is awesome. Although just one more, packages are semantically versioned, very high quality (in my opinion), and fantastically documented. Oh and just one more, the community is friendly as hell. And… well yeah. Now I’ll stop.

With all that addressable market and with Elm solving the problems reported by the number one competitor in that space, it is just defeatist to say that Elm couldn’t become the leading popular choice for Web Development.

However. Now Evan has to rebuild trust. Even if he re-emerges Willy Wonka style, does a somersault and then unveils the most amazing language features… will businesses trust him?

Personal Example

I know four superstar software engineers that have experience with OO, some functional principles, and TypeScript/React/Redux. These engineers are brilliant, fast, pleasant, and have incredible integrity. With these four engineers you could build just about anything. I know I could convince these four superstars to use Elm if it had been maintained. Right now they would strongly object.

I know I could teach these four superstars Elm to the point of proficiency within two weeks. Probably less. I couldn’t teach these engineers to be proficient in PureScript in under two months. So while I love PureScript I couldn’t choose it for an entrepreneurial adventure.

Sorry for the Rant

This was not at or against anyone and I apologize if it came off that way. I trust the people in this community: both their good intentions and their reasoning ability. I just had a lot of thoughts that had been piling up which were unlocked by this thread.


I’ve said it before and will say it again. This is probably never going to change so there is no point in even asking at this stage.

But why do we even need to ask? I have reviewed a lot of PRs with the help of others, and built bug fix stacks out of them under elm-janitor. And now Changlin is doing the same for the compiler under Zokka.

Maybe we just need to find someone to write the quarterly blog post and off we go.


I say the following not to diminish your feelings about the state of Elm, but because I disagree with how companies choose. I’ve failed and succeeded to introduce Elm at companies, and watched as companies ranging from 7 years to 160+ years old refuse to adopt technologies not based on data but on social/cultural bias. This applies not only to Elm but to any technology.

The enterprise (for the majority of companies) wants high income and low costs. Developers are seen as a cost to a company, and as such should be made cheap and easily replaceable. We are cogs and nothing more. Also, Elm is one of if not the most stable languages there are, with the least change over time. I know of multiple companies right now who are instituting metrics for developers around PR counts, not because this is a measure of quality but it’s an easy means for layoffs and replacing with cheaper labor.

I think I’d rephrase this as “change averse”. I am even reading right now about how change averse old companies are Kara Swisher: How Silicon Valley Tech Bros Ruined Media. Again, it’s about the ratio of income to costs and like it or not you and I are considered a cost according to the accounting department, both at the 15 person startup and the 160 year old company with many thouands of employees.