Курс языка программирования Raku / Основы / Компиляторы
Интерпретатор mutsu 🆕
mutsu — это третья реализация Raku, написанная
Токухиро Мацуно на языке Rust. Как и Rakudo, он
компилирует вашу программу в байт-код и выполняет её на виртуальной
машине, — но виртуальная машина у него собственная, встроенная в
исполняемый файл mutsu, а не MoarVM.
mutsu реализует Raku 6.d и активно развивается. Его автор прямо говорит, что mutsu пока не готов к промышленному использованию, но он уже проходит почти все тестовые файлы Roast, так что почти все программы из этого курса работают на нём без изменений.
Во время обучения важен один пробел: некоторых проверок на этапе компиляции пока нет. Заметнее всего то, что в версии 0.24.0 mutsu не сообщает о переменной, которую вы забыли объявить, ещё до запуска программы, как это делают Rakudo и Raku++. Когда в курсе показано такое сообщение об ошибке, попробуйте этот пример с одним из двух других компиляторов.
Raku в браузере
mutsu можно скомпилировать и в WebAssembly, так что он работает прямо на веб-странице. Его сайт, tokuhirom.github.io/mutsu, использует это для введения в Raku на английском и японском языках, практического учебника и песочницы, где можно запускать Raku, ничего не устанавливая, — всё на этих страницах работает на самом mutsu.
Модули
Вместе с mutsu поставляется собственная копия менеджера пакетов zef
под названием mzef, так что модули Raku можно устанавливать
для него обычным способом — командой mzef install, за
которой следует название модуля.
Исходный код
mutsu — открытое программное обеспечение. Найти его вместе с готовыми сборками и инструкциями по сборке можно на github.com/tokuhirom/mutsu.