Skip to content

yukikurage/phosphor

Repository files navigation

Phosphor

👷‍♂️

Phospher は制作途中です.トランスパイラを制作しました

  • 型推論

は依然としてありません.

Overview

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));
];
  • その他

    特にありませんが、余裕が出来たら依存型とか実装してみたいですね

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published