AltLua 自作
Neovim の設定を書いていて不満に思った部分をもとに改善した言語をつくる
コンパイルして .lua を出力する
静的型を導入したい
Lua と似た構文にしたい
モジュール解決まわりの挙動は Lua と同じにする
type alias, struct, enum, trait, impl といった機能を、Rust を参考に追加する
既存の Lua モジュールに対する型定義ファイル ( .d.ts 的なやつ ) を記述できるようにする
code: example.altlua
fn foo(x, y) = x + y
fn main(_args) =
print(foo(3, 4))
0
code: command
altlua -o out.lua example.altlua
code: out.lua
local function foo(x, y)
return x + y
end
local function main(args)
print(foo(3, 4))
return 0
end
exit(main(arg))