インストールする
Loment はパッケージとして配布される。自分のプラットフォーム向けのアーカイブを 最新リリースから取れ。
Linux / WSL
linux-x64.tar.gz。展開して sh install.sh を実行する。
要求されるのは POSIX の sh だけだ。
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 ではその特定のファイルは
リンクしない。サンプルにある四つのプログラムが、
実行できると検証済みのものである。