Phospher は制作途中です.トランスパイラを制作しました
- 型推論
は依然としてありません.
Phosphor は静的型付け AltJS になる予定です. 以下のような特徴があります.
-
空白やインデント,改行の持つ意味が少ない
これらの見た目はフォーマッタにより整えられるべき,という考えのもと作っています.(これは完全に自分の好みです)
// 変数定義 x : Int = 2; // 関数定義 f : Int -> Int = x -> add(x, 1);
-
簡潔なパターンマッチ
パターンマッチは部分関数をまとめたものとなっています.
具体例として,「2 つの自然数の合計」を計算するプログラムを示します.
// 自然数の定義
Nat : Type [
Zero : Nat;
Suc : Nat -> Nat;
];
// 足し算をする関数
add : Nat -> Nat -> Nat = [
Zero, x -> x;
Suc(x), y -> add(x, Suc(y));
];
-
その他
特にありませんが、余裕が出来たら依存型とか実装してみたいですね