Franz
Franzは、短い構文と字句スコープを備えたプロトタイプ指向の関数型言語。LLVM IRでネイティブ実行へ対応し、文字列・数・リスト操作も充実。
Franzとは?
Franzは、高水準で関数型、インタープリタ型、動的型付けの汎用プログラミング言語です。短い構文と豊富な標準ライブラリを備え、関数型プログラミングのパターンをサポートしつつ、エフェクトの管理と予測可能な実行を実現します。
このプロジェクトは、プロトタイプ指向の言語として提示されており、能力ベースの安全なエフェクトと決定論的なリプレイを備えています。「厳密に副作用なし」(IOに関する明示的な例外を除く)とされ、LLVM IRを介したソースからネイティブ実行ファイルへのパスも提供します。
主な特徴
- 関数型コアとプロトタイプ指向オブジェクト:小さな関数型基盤とプロトタイプ指向オブジェクトを組み合わせ、関数型中心の言語設計を維持しながら振る舞いをモデル化します。
- 能力ベースの安全なエフェクトと決定論的なリプレイ:インポートしたFranzファイルからのエフェクトを局所化・制御するための設計です。
- 厳密に副作用なし(IOテーブルの例外付き):IOメカニズムを除き、言語モデルは副作用を避けるよう設計されています。
- LLVM IRによるネイティブコンパイル:LLVM IRを用いてネイティブ実行ファイルへの直接コンパイルをサポートします。
- リストリテラルとLLVMリスト操作:
[1, "hello", 3.14]のようなリストリテラルやネストしたリストをサポートし、head、tail、cons、empty?、length、nth、is_listなどの操作を提供します。 - 比較と数値計算のプリミティブ:整数、浮動小数点、文字列に対する比較演算子(
is、less_than、greater_than)と、remainder、power、random、floor、ceil、round、abs、min、max、sqrtなどの数<|eos|>
代替案
- 強い型システムを持つ関数型プログラミング言語(ML系言語など):関数型構文と予測可能なスコープ・クロージャを主に求める場合で、LLVMベースのネイティブコンパイルを重点的に必要としない場合に適しています。
- プロトタイプベースの言語(関数型パターンを取り入れたJavaScriptなど):プロトタイプ指向のオブジェクトモデリングに関心がある場合に有用ですが、Franzで説明されるワークフローやエフェクトモデルとは異なります。
- 関数型機能を備えた汎用コンパイル言語(LLVM経由でコンパイルされる言語など):LLVM IRコンパイルと関数型構文を求める場合で、異なる構文やランタイム規約を持つエコシステムを好む場合に適しています。
- サンドボックス方式を採用したプロトタイピング用スクリプト言語:制御された実行環境で素早く実験することを優先する場合(リポジトリではケーパビリティベースのセキュリティパターンが議論されています)、独自のサンドボックス機構を提供する別のランタイムを選択できます。
代替品
AakarDev AI
AakarDev AIは、シームレスなベクターデータベース統合を通じてAIアプリケーションの開発を簡素化し、迅速な展開とスケーラビリティを実現する強力なプラットフォームです。
Arduino VENTUNO Q
Arduino VENTUNO Qはロボット向けエッジAIコンピュータ。AI推論とマイコン制御を統合し、Arduino App Labで埋め込み/ Linux/エッジAI開発。
Devin
Devinは、AIコーディングエージェントとして移行や大規模リファクタのサブタスクを並列実行。人が管理し変更を承認。
BenchSpan
BenchSpanはAIエージェントのベンチマークを並列実行し、スコアと失敗を整理した実行履歴に記録。コミット連携で再現性向上。
open-codex-computer-use
open-codex-computer-use は、MCPサーバーで「Computer Use」機能を提供するオープンソース。macOS/Linux/WindowsでGUI操作を実行可能。
Codex Plugins
Codex Pluginsでスキル、アプリ連携、MCPサーバーを再利用可能なワークフローにまとめ、Gmail・Google Drive・Slack等のツールにアクセス。