Why I'm Stepping Away from Elm

I’ve felt similarly. I was 100% in it a few years back. I stepped away and did some work in PureScript that was difficult. I came back to Elm after some time off from programming and not much had changed; I still had the same issues I raised in a retrospective in 2016 – amplified by the lack of Web Platform support and reasonable synchronous FFI moving to 0.19. There’s still security and usability bugs in the core from ages ago – many with PRs with immediate fixes for people – that have mostly been neglect. After the way my thread was shut down asking about localization without room for rebuttal, I pretty much gave up on the community and any further contributions seeing the stewardship’s actions time and time again.

Reading last weeks post made me realize how much people are afraid to mince words with frustrations for fear of community backlash and how you’ll never get anointed to the status of ‘chosen one’ where your packages can have the Kernel code or get the priority sorting in the package search. There’s a lot of careful speech about wanting to sing the praises. Even still, in the way that some people recommend Python for beginners to then graduate to something with types, I feel Elm’s current space is to learn functional programming techniques but not to build production systems. I’ve had to make too many hacks – including things like using the build tool to rewrite Kernel code with bugs in it (it’s stable though since the libraries rarely get updated :jab:). And more issues arise as Elm cannot extend custom element nodes with is (opened a year ago), despite custom elements being praised as a solution.

I’m pretty much checked out the community too and I think it important to let people know that their frustrations can be empathized with. I’m completely spent right now after having to move some code out to a Worker for performance reasons processing on the main thread it caused the UI to hang in large workloads and hooking up the port was an Italian lunch of spaghetti mess trying to manage state/caches in two place to coordinate (and you can’t just use a Web Worker from your Elm codebase). This is likely going to include the work code base as we’ve just had too many issue that can’t be solved within Elm. Following Evan’s advice, I’ll be looking to migrate more things to PureScript.

3 Likes