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 — это статически типизированный чистый функциональный язык для научных вычислений и обработки данных. Он сочетает выразительность функционального программирования с контентно-адресуемым хранилищем (на основе BLAKE3), типизированными API инструментов и изолированным выполнением в Docker. Это позволяет создавать лаконичные, инспектируемые и параллельно исполняемые рабочие процессы, которые легко масштабируются и безопасны для LLM-генерации. Rex поддерживает локальный и Docker-режимы, а также интеграцию с FFmpeg, ImageMagick, Graphviz и другими инструментами.

Rex делает границы артефактов явными, позволяя строить кэширование и происхождение данных строго, а не выводить их из изменяемых путей.
  1. troelsSteegin

    Мне любопытно, где бы здесь нашлось место для async. Я понимаю, что распределённый async выходит за рамки Rex. Учитывая подход к контентно-адресуемому хранилищу (CAS), можно было бы декларативно задавать состояния workflow, опрашивать артефакты для следующего шага и запускать задачи на делегате, а затем двигаться дальше. Было бы неплохо, чтобы такая подсистема существовала. Вопрос в том, где параллелизм полезен в ваших научных workflow, а где он мешает. Случаи использования в квантовой химии (QDX стоит за Rex) мне пока не под силу, так что я понятия не имею.

    Я думаю, что программы на Rex задуманы как результат работы языка спецификации workflow более высокого уровня. Было бы интересно это увидеть.

  2. lubitelpospat

    Отличная работа!

    Будет любопытно посмотреть, как он конкурирует с существующими языками workflow, такими как Nextflow или Snakemake — нет ли у вас случайно где-нибудь статьи «Почему стоит перейти с Nextflow/Snakemake на Rex», которую можно было бы почитать?

  3. cl3misch

    Я ожидал ссылку на Dex, но они, похоже, не связаны?

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

Ещё за этот день

2026-08-22