Rex - Parallel functional language for scientific workflows

Show HN: Rex, a parallel functional language for scientific workflows

Rex - Parallel functional language for scientific workflows

Rexは、科学的コンピューティングとデータ処理のための、静的に型付けされた純粋関数型ワークフロー言語です。不変の値に対する純粋な変換としてワークフローを表現し、型付きツールモジュールが計算集約型タスクを外部プログラムに委任します。コンテンツアドレス可能なストレージ、型付きツールAPI、隔離されたDocker実行を特徴とし、ワークフロー定義を簡潔で検査可能にし、並列実行に適したものにします。また、LLM生成ワークフローのターゲットとしても有用で、静的型による高速なフィードバックと閉じたツール境界により、生成プログラムの実行を安全に制限します。

Rexは、YAMLやシェル、アプリケーション固有の設定の混合物ではなく、制御フロー、データフロー、再利用、エラー処理を一つの小さな表現力豊かな言語に統合した、真の関数型言語を提供します。
  1. troelsSteegin

    非同期がどこに適合するのか興味があります。分散非同期がRexのスコープ外であることは認識しています。コンテンツアドレス可能ストレージ(CAS)の扱いを考えると、ワークフローの状態を宣言的に指定し、成果物をポーリングして次の状態を取得し、タスクを委任先に送信してから前進することができます。そのようなサブシステムがあれば便利でしょう。科学的ワークフローにおいて並列性がどこで有用で、どこで妨げになるのかが疑問です。量子化学のユースケース(Rexの背後にあるQDX)は現在の私には理解を超えているので、見当もつきません。

    Rexプログラムは、より高レベルのワークフロー仕様言語からの出力として意図されているのだと思います。それをぜひ見てみたいです。

  2. lubitelpospat

    素晴らしい仕事です!

    既存のワークフロー言語(NextflowやSnakemakeなど)とどう競合するのか興味があります。どこかで「Nextflow/SnakemakeからRexに移行する理由」という説明を読める場所はありますか?

  3. cl3misch

    Dexへの言及があるかと思いましたが、無関係のようですね?

    https://github.com/google-research/dex-lang

この日のほかの記事

2026-08-22