3 ms·
Why did you "scroll past" the Go solutions? Types, man, types. Elixir has no types. Ergo, I can't use it.
by cdelsolar 1y ago
Why did you "scroll past" the Go solutions? Types, man, types. Elixir has no types. Ergo, I can't use it.
- dragonwriter 1y ago> Types, man, types. Elixir has no types. Elixir (and BEAM more generally) has Dialyzer, which does static analysis including (but not limited to) type checking.
- te_chris 1y agoAlso the language is strongly typed and has a compiler which they’re adding more compile-time type checks to.
- mtndew4brkfst 1y agoDialyzer is easy to intentionally or accidentally mislead, so it's only as good as the quality of human-authored typespecs (which are sometimes absent from major mainstream Hex packages) and the inference is simultaneously more open-ended and unhelpfully precise than most people are accustomed to if they have prior experience with something like Rust or TypeScript. People also frequently struggle to accurately interpret its output. I still find dialyzer to have non-zero value, but it's not uncontroversial and it's not usefully integrated with the vanilla language tooling. Mix/elixirc is not generally going to throw you a bone if you violated a syntax-correct type spec. It's an opt-in secondary tool and that diminishes its utility a tad.
- pton_xd 1y ago> Elixir has no types. Elixir is strongly typed. I think you mean it is not statically typed.
- mtndew4brkfst 1y agoMaking this point in typed vs untyped debates about Elixir/Erlang specifically has never once lead to either an educational moment or a change of opinion on either side. You know exactly what they meant by that, and you're using a different definition than they are to try to pull a pedantic gotcha. It's snide and unproductive.
- hibbitybibbity 1y agoI thought I would miss static typing more than I do. Elixir's pattern matching is actually extremely powerful in its own right.