Reasons that people were forced to move from Elm to something else?

By “express” I meant “express in specific style”. Of course it’s still a complete language and I should not use word “cannot” - you of course can, but you need to sacrifice style.

But to be specific - I find Elm lacking with handling polymorphism. For example we’d like to have structures with functions that operate on them, but elements of these structures should be polymorphic.

Typeclasses and/or Modules also provide tools for late polymorphism, where you can define some type behaviour later.

We also model a lot of flows in our apps (think about document flow in organisation) and GADTs are very useful for this.

I didn’t compare TS and Elm in this regard. We use TS for our UI and if somebody wants to still work with javascript libs or idioms, TS is unmatched here. TS tries to be subset of javascript and obey by its laws and best practices. Elm and TS are different tools with different goals.

2 Likes