The Elixir stack makes heavy use of structs and Ecto schema’s which does provide a reasonable simple type matching, just not a rich HM type system. When coupled with testing it works very nicely for both maintenance and building new. It would of course be nice to have a better compile time types.
If I could somehow get exhaustive matching (with or without a stricter type system) I would be extremely happy.
That said, if Caramel were to pick steam back up (I believe it’s development is stopped or paused) I would be even happier.
Thanks for your reply. Overall did you love/like the Phoenix platform or would you look for another stack for your next project — curious to hear your general assessment…
So many different concerns go into figuring a starting stack for a project. Phoenix is amazing for building a new web product while also growing your team. It would be at the top of my list if the product needed a team to be built and it is web focused.
If I need to really explore a new problem domain and plann on working largely solo I would probably start with something like Zotonic as I’m used to it, and it’s schema model (roughly a semantic triple) allows a safe way to grow and change entities and functionality. That said, it’s probably not a great stack for even a small team. It’s not that desirable to work in for most developers.
For command line/parsing/development tools I probably reach for OCaml.