Code available for the abandoned type inference project?

52 views
Skip to first unread message

Jake Becker

unread,
Sep 9, 2018, 1:57:23 PM9/9/18
to elixir-lang-core
I'm really curious about the project Jose mentioned in his ElixirConf keynote to do local type inference for intersection types: https://youtu.be/suOzNeMJXl0?t=43m2s .  Even if the project isn't in a usable state, I'd be really interested in seeing the code for it. I'm also interested in which papers specifically influenced its design. I've tried reading papers on inference for intersection types, but I have trouble wrapping my head around them. Is the code available?

Thanks much!

José Valim

unread,
Sep 9, 2018, 2:09:27 PM9/9/18
to elixir-l...@googlegroups.com
Hi Jake!

We do not have the code available because honestly I don't think it would be of any help. It is a mixture of learning and prototyping. I stayed 6 months away from the codebase and I cannot understand what it does anymore.

On the positive side, we did write some notes as we progressed. I have put the docs of the facade module in a gist for those interested. The gist also contains the inference suite which may bring more insight on the inferred types (some of those inferred types may be wrong though - but good enough for guidance).

Intersection types can be difficult to grasp but our type-system implemented a limited version of intersection types, enough to support multiple clauses and a fancier inference than Hindley-Milner systems in certain cases. The docs has some of those examples.



José Valim
Skype: jv.ptec
Founder and Director of R&D

On Sun, Sep 9, 2018 at 10:57 AM, Jake Becker <ja...@jakebecker.org> wrote:
I'm really curious about the project Jose mentioned in his ElixirConf keynote to do local type inference for intersection types: https://youtu.be/suOzNeMJXl0?t=43m2s .  Even if the project isn't in a usable state, I'd be really interested in seeing the code for it. I'm also interested in which papers specifically influenced its design. I've tried reading papers on inference for intersection types, but I have trouble wrapping my head around them. Is the code available?

Thanks much!

--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-core+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/29c3511e-8cde-4433-be05-ab07749668ca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages