Hi everyone!
During my internship at Google, I worked on the type inference framework for Jsonnet. The goal of the project was to create a statically typed dialect with better error messages for certain classes of programming errors. The main contribution to this project is the design document with proposed solutions, examples, and open problems. You can find a pdf-version of it in the attachment. Later on my host will share the link to the up-to-date google document so interested people can contribute.
Some ideas, described in that document, were already implemented and can be found in two branches on github:
one branch contains an initial approach which supports simple Jsonnet examples (see https://github.com/Dobryk15/jsonnet/tree/jsonnettype/core/type_inference );
another one contains a rough implementation of the row polymorphism concept (see https://github.com/Dobryk15/jsonnet/tree/exclamation_mark/core/type_inference ).
The project is quite interesting and provides a wide space for novelty and challenging tasks. If somebody is interested, please, contact my host pip...@google.com or me via my private email iradobro...@gmail.com.
It will be great if the project continues growing.
Kind regards,
Iryna