4 ms·
1. Erlang has parse transforms, so it's not like Erlang has /nothing/ in this regard. They are painful to write, though, although that could probably be fixed b
by filmor 8y ago
1. Erlang has parse transforms, so it's not like Erlang has /nothing/ in this regard. They are painful to write, though, although that could probably be fixed by introducing a parse transform (apparently someone else thought the same, just found this: https://github.com/bucko909/uberpt https://github.com/bucko909/uberpt). I just didn't really /need/ parse transforms. The only ones I ever used were lager and exprecs, and regarding the latter it turned out to be much easier to get the specs right by just writing modules manually.
2. Depending on the framework you use (we just use cowboy directly), Erlang HTTP pages/endpoints are pretty light on state as well, you need to pass them information or call global functions to make them stateful. Maybe I'm not getting you right here.
3. This is an issue to me as well, but I think most Elixir and Erlang developers would agree that this would really be nice to have, at least optionally. We're right now in the process of making our codebase "dialyzer-safe" but there are so many parts of it that could be checked statically. From what I got from different talks and articles on the subject, the main issues are the dynamic "dispatch" mechanisms, like throw/error/exit and general message passing that allow for arbitrarily typed data to be thrown at arbitrary other code.