Scala приходит в .NET/Mono


На веб-сайте Scala, источнике всей информации о Scala, есть интервью и некоторые детали проекта по переносу Scala в .NET и, следовательно, в Mono. Проект спонсируется Microsoft, что само по себе имеет интересные последствия.

ОБНОВЛЕНИЕ Поддержка .NET Scala была прекращена в декабре 2012 года

Ключевым лицом, участвующим в проекте, является Мигель Гарсия, входящий в группу Scala в EPFL ( École Polytechnique Fédérale de Lausanne), где, конечно же, был изобретен язык.

Текущее состояние проекта заключается в том, что вы действительно можете писать программы Scala, которые работают под .NET. Есть несколько ограничений в использовании .СЕТЕВЫЕ библиотеки, но они должны быть исправлены в ближайшем будущем. Вы также можете использовать Visual Studio для создания программ Scala, но на данный момент плагин не поддерживает хорошие функции, такие как автозаполнение и т. Д. Новый плагин, ожидаемый позже в этом году, обещает обеспечить полную поддержку кода, но вы можете использовать инструменты JVM IDE и просто импортировать готовый код позже.

Скала .Утверждается, что сетевой компилятор надежен, и доказательством этого является тот факт, что он может компилировать себя на более чем 100 тысяч строк Scala. Текущий компилятор является портом кросс-компилятора, который работает на JVM и использует зависимости JDK, которые исключают загрузку в .NET путем самокомпиляции. Компилятор .NET написан на языке Scala, но он компилируется в байтовый код с помощью стандартного компилятора Scala. Первым шагом на пути к созданию компилятора, который будет работать под .NET, было использование существующего компилятора IKVM, который принимает байтовый код JVM и выводит данные .ЧИСТАЯ ИЛ. 

Запуск .Байтовый код компилятора NET, хотя IKVM не создавал компилятор, работающий под .NET, однако из-за зависимостей JDK. Решение этой проблемы состояло в том, чтобы создать инструмент автоматического сопоставления для стандартного компилятора Scala, который удалял бы зависимости и заменял их эквивалентами IKVM .NET. С помощью этой доработки можно было создать версию IL .СЕТЕВОЙ компилятор, который работает под .NET и компилируется сам — загрузка завершена!


Добавить комментарий