一意のソース表現
全てのプログラムには、インデントベースのただ一つのソース表現があります。(lossless syntax tree) プログラマーはコードの書き方の種類で迷いません。
全てのプログラムには、インデントベースのただ一つのソース表現があります。(lossless syntax tree) プログラマーはコードの書き方の種類で迷いません。
C を経由するのでクロスコンパイルがしやすく、 ランタイム込みの 1 バイナリとして配布できます。 VM や外部インタプリタは不要です。
tya
バイナリにコンパイラ、フォーマッタ、チェッカ、テストランナ、パッケージマネージャがすべて入っています。
user = { name: "komagata", age: 20 }
greet = user -> "Hello, {user["name"]}!"
if user["age"] >= 20
print(greet(user))
brew install komagata/tap/tya
curl -fsSL https://tya-lang.org/install.sh | sh
curl -fsSL https://tya-lang.org/install.sh | sh
irm https://tya-lang.org/install.ps1 | iex
ファイルを指定すると、その場でコンパイルして実行します。試作や手元での動作確認に向いています。
tya run hello.tya
実行ファイルを作ります。できあがったバイナリは Tya コマンドなしで起動できます。
tya build hello.tya -o hello
./hello
プロジェクトのテストをまとめて実行します。テストランナは最初から同じバイナリに入っています。
tya test
未使用の変数や避けたい書き方を検出します。実行前や CI でのチェックに使えます。
tya lint src
プロジェクトに定義したタスクを一覧表示し、そのまま実行できます。
tya task
tya task run