Loment
RU

Начать

Эта страница только о том, как запустить программу и увидеть, что она работает. О том, для чего этот язык, — на главной странице.

Установить расширение для VS Code

Установка

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 именно этот файл не компонуется; те четыре программы на странице Примеры — те, что проверены на запуск.

Примеры Короткие программы на этом сайте плюс полный набор в репозитории. QUICKSTART.md Длинная форма этой страницы, включая все пути сборки и заметки об FFI. README Для чего этот язык, что ещё иначе и что честно не закончено.