Начать
Эта страница только о том, как запустить программу и увидеть, что она работает. О том, для чего этот язык, — на главной странице.
Установка
Loment поставляется пакетом. Возьмите архив для своей платформы из последнего выпуска.
Linux / WSL
linux-x64.tar.gz. Распакуйте его и запустите sh install.sh.
Единственное требование — sh из POSIX.
Windows
windows-x64.zip — распакуйте его и запустите
powershell -File install.ps1 — либо
windows-x64-setup.exe, по которому достаточно дважды щёлкнуть.
Вы получаете команду loment, менеджер пакетов (lompi) и
языковой сервер. Компиляция и запуск требуют ни Python, ни clang, ни WSL:
пакет — это нативные бинарники плюс стандартная библиотека, а установщик проверяет
SHA256SUMS, прежде чем что-либо записать.
Чтобы изменить сам язык, а не пользоваться им, работайте из выкачанной копии:
git clone https://github.com/Loment-Lang/loment.git. Компилятор написан
на Loment и пересобирается из сида, зафиксированного в репозитории, —
sh loment/bootstrap.sh собирает его и проверяет, что сид воспроизводит
себя побайтово.
Напишите программу
Положите это в hello.lomt.
module hello fn _start() { let s: str = "hello from Loment\n"; syscall4(1, 1, str_ptr(s) as u64, str_len(s) as u64); syscall4(60, 0, 0, 0);}
_start — там, где начинается машина. У sealed-программы, которая ничего не
компонует, нет runtime под ней, чтобы вызвать точку входа за вас, поэтому вы называете
её сами; и у неё нет printf, так что вывод идёт через системный вызов
write: дескриптор файла, указатель на строку и её длина. Второй вызов —
exit. Напишите вместо этого choose hosted — и получите
обычную программу на C с точкой входа fn main() -> u32.
Скомпилируйте и запустите
$ loment run hello.lomt # compile, link, run$ loment build hello.lomt -o hello$ loment check hello.lomt # check only, nothing written$ loment ir hello.lomt # the LLVM IR it generates
В Windows цель — PE, поэтому назовите вывод .exe — компоновщик выбирает
формат по этому имени.
Осмотритесь в языке
Инструментарий объясняет себя сам. Эти четыре команды несут большую его часть.
$ loment example tour # the whole language in one file$ loment cheat # the traps, ordered by how easily they bite$ loment builtins # every built-in function there is$ loment syntax # syntax summary
loment example tour печатает весь язык как один прокомментированный
файл-исходник. Его комментарии на китайском, и в 0.1.4 именно этот файл
не компонуется; те четыре программы на странице Примеры —
те, что проверены на запуск.