4 ms·
> In other words, is the "set theoretic type system" an implementation detail which doesn't affect the language server API? This should be the case. Type viola
by josevalim 3y ago
> In other words, is the "set theoretic type system" an implementation detail which doesn't affect the language server API?
This should be the case. Type violations would automatically appear on your IDEs when you update Elixir. However, if you need additional metadata/features, then we need to expose them from Elixir and Language Servers need to consume it. But that's implementation work and not "type system" work. :)
> But regardless, this is one of my main hangups with dialyzer: its `underspecs` and `overspecs` design gets it wrong.
I believe recent Erlang/OTP versions changed this to give you more fine grained control for the precise reasons you mentioned.
> So I guess my question with this approach, is whether you can explicitly spec "larger" sets than is inferred? And if so, whether the given specs overrule the inferred ones elsewhere.
I am 99% sure the theory allows both options, so we will pick one based on patterns and community needs.