revo - プログラミングの楽しさのための動的言語
(github.com/if-not-nil)- Zig で書かれた 動的型付け言語 で、すべてが値を返す "everything is something" 構造を採用
- ブロッキングコードの前に
spawnを付けるだけでノンブロッキングに切り替わる、シームレスな並行性モデルをサポート - パイプ(
|>) 演算子で値を連続変換し、_で直前の値を参照- 例:
"hello" |> _:upper() |> _:sub(1, 2)
- 例:
- パターンマッチングと結果型 をサポートし、関数が
(:ok, value)/(:err, reason)形式を返した後、matchで分岐処理 --testフラグ を付けたときだけコンパイル・実行される first-class テスト を内蔵し、単一のtestとグループ化されたsuiteブロックを提供revo.hにより C コードへ直接組み込める 埋め込み API を提供erevo_vm_create,erevo_compile,erevo_run,erevo_evalなど
- diagnostic / go-to-definition / hover / 参照 / シンボルを処理する LSP サーバー revolt を内蔵
- リリースビルドに標準でバンドルされ、
revo --lspで実行
- リリースビルドに標準でバンドルされ、
- デフォルトの REPL バックエンドとして isocline を提供。複数行入力 / タブ補完 / 履歴検索をサポート
- Windows 版はまだ不完全: 非同期バックエンドおよび完全な行エディタは未サポート
- MIT ライセンス
まだコメントはありません。