Intro Blog

プログラミング言語を作っています

IntroJS の関数定義

IntroJS のトップレベルにかけるのは、今のところ関数定義のみです。

モジュールのインポートや、グローパル変数などは、まだサポートしていません。

IntroJS の関数定義では、仮引数や戻り値にデータ型の指定が必ず必要になります。

def func(v: Int, vv: Int[]): Int[][]
  ...
end

関数のオーバーロードには対応していないので、関数名はファイル内で一意にする必要があります。 仮引数の個数やデータ型が異なっても、同じ名前の関数は定義できません。

また、可変長引数、名前付き引数、デフォルト値などにも対応していません。

ということで、整数型しか使えない簡易プログラミング言語 IntroJS は、いかがでしょうか。

IntroJS