First, I’d like to make it clear that I’m not an expert on Elm at all. I’ve just read its official docs and guides, and been playing with it a little. Thus, this is more or less a very personal and immature view. If I am wrong (which is highly likely), please let me know via any medium.
Its basic idea is great. Toolings are helpful. It’s easy to write safe code for small-sized projects, but I wonder if it works well with large projects too. Yes, I know that managing the code’s complexity is up to its developers, but Elm platform is quite opinionated. It usually forces users to do something in Elm-y way, and it requires considerable amount of time to design and implement things in it.
I’m a bit worried about the fact that Elm development is actually lead by handful of people. Evan is talented and doing a great job, but one cannot handle everything. It can easily turn into a bottle neck of the whole process.
It took more than half an year for Evan to weigh in. Furthermore, the issue was closed with a comment ‘0.17’, despite of the long discussion made by several people. It’s a little bit frustrating. I understand the repo is not belong to the official Elm organization and Evan is too busy, but I’m just saying it would be great if the community were more friendly and open. It doesn’t really look very open to outsiders who don’t only want to use Elm, but want to contribute on it.
The language is concise and neat, but if you have background on Haskell, you may feel a little bit limited. It’s like a subset of Haskell, focusing on essence to create web apps. I personally think this works very well, makes it easy for beginners to start using Elm and focus on writing code, without being bothered about Monad or other typeclasses.
All in all, my feeling is mixed. It’s really a great platform and it’s funny to play with. But I think I should work with it more to be really sure that it’s worth spending more time to get really into it.
Here is a Hacker News post having a similar view to mine. If interested, please take a look: link