На сегодня сделали:
1. Библиотечную поддержку унификации и вывода типа на его основе. Она довольно не плохо вписалась в язык зависимых свойств (по сути реализована на базе них). Это позволяет реализовать вывод типов в языках типа C#. Возможно его (с небольшим допиливанием) хватит и для того чтобы поднять вывод типов Nemerle.
2. Реализована специализация для новой подсистемы символов и AST-а.
3. Начал реализовывать
бэкэнд на основе
CCI Metadata. Реализовал загрузку Nitra-символов для дотнета на базе CCI. Есть мелкие недоработки (например, пока не грузятся значения пользовательских атрибутов), но в целом работает. Например, в нашем C#-е можно ссылаться на символы из внешних сборок.
4. Описание AST и символов для .Net-языков выделили в отдельную библиотеку (
DotNetLang. Это позволяет существенно упростить создание разных языков для дотнета, но (что намного важнее) использовать в своих мини-языках символы дотнета. Например, если мы хотим сделать человекочитаемый синтаксис для XAML-а, то символы описывающие контролы будут доступны из коробки — DotNetLang.dll, а их загрузка из другой коробки — DotNet.BackEnd.CCI.dll.
Тест демонстрирующий ссылку на символ описывающий тип System.IO.FileInfo расположенный в mscorlib.dll: