Janet - 関数型 & 命令型プログラミング言語
(janet-lang.org)-
コア、インタプリタ、コンパイラ、アセンブラ、PEG を含む言語全体が 1MB 以下のシングルバイナリ
-
Windows / Mac / Linux をサポート
-
システムスクリプト言語として優秀
-
Lisp が使われるあらゆる用途に活用可能(プロトタイピング、動的システムなど)
-
Lua や Guile のように他のプログラムへ簡単に埋め込み可能(C ファイル 1 つとヘッダファイル 2 つ)
-
複数の言語の長所を取り入れている
→ Lisp に近い Scheme
→ ファーストクラスクロージャ & グリーンスレッド
→ Python スタイルの Generators
→ Mutable & Immutable : array/tuple, table/struct, buffer/string
→ Lisp マクロ
→ C ライブラリの動的ロードが可能
→ REPL をサポート
→ PEG をコアライブラリに内蔵
→ jpm ビルドツールでスタンドアロン実行ファイルを生成可能
2件のコメント
新しい言語が出るたびに毎回感じることですが……いろいろな長所があって、どんな用途に向いていると言われても、結局その言語に「キラーアプリ」がなければ使っていくのは難しい気がします。キラーアプリがないと「この言語でどこまで開発できるのか?」あるいは「どんなライブラリがサポートされるのか?」「継続的に保守していける余力はあるのか?」……といった批判を避けられないように思います。
Janet がどれくらい生き残れるのか、期待しています。
Janet のGitHubでは Modern Lisp と紹介されていますが、「List がなければ Lisp ではない」という人たちもいます。
(LISP という名前が LISt Processing に由来しているので)
→ List は上に書いたように array、hashtable、struct、tuple などのデータ構造で置き換えられています