Re:Why Typing Erlang is Hard: Standard Erlang
by dnautics on Friday November 06, 2020 @11:09AM
(#25008650)
Yeah, I mean that it will properly identify that the only time you can do that is when you have an empty list. The final spec will be (in elixir syntax):
It should also be able to correctly infer that the count/1 function must be
[ Parent
| on HN ]
Re:Why Typing Erlang is Hard: Standard Erlang
by Joker_vD on Friday November 06, 2020 @11:33AM
(#25008859)
I am using an old version of erlang, so typer infers the following types:
-spec count([any()],_) -> any().
-spec count([any(),...]) -> any().
If I unexport count/2, it infers -spec count([any(),...]) -> non_neg_integer().
-spec count([any()],non_neg_integer()) -> non_neg_integer().
Re:Why Typing Erlang is Hard: Standard Erlang
by dnautics on Friday November 06, 2020 @11:57AM
(#25009073)
I did say "should be able to" without regard to any of the existing type inference engines =D I'll be sure to make this as explicit test in Mavis Inference, which is the one I'm working on. https://github.com/ityonemo/mavis_inference/issues/47