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 해시)를 통해 중간 산출물을 안전하게 전달하고, Docker 격리 실행으로 보안을 강화합니다. FFmpeg, ImageMagick, QPDF 등 인기 도구를 위한 타입 API를 제공하며, 병렬 실행과 LLM 생성 워크플로에 적합합니다.

Rex는 YAML, 셸, 애플리케이션별 설정의 혼합 대신, 제어 흐름, 데이터 흐름, 재사용, 오류 처리를 하나의 작고 표현력 있는 언어로 통합합니다.
  1. troelsSteegin

    비동기가 어디에 맞을지 궁금하네요. 분산 비동기는 Rex의 범위를 벗어난다는 점을 알고 있습니다. 콘텐츠 주소 지정 저장소(CAS) 처리를 고려할 때, 워크플로 상태를 선언적으로 지정하고, 아티팩트를 폴링하여 다음 단계를 결정하고, 태스크를 대리자(delegate)에 실행시킨 후 진행할 수 있을 것입니다. 그러한 작업을 처리하는 하위 시스템이 있으면 좋겠습니다. 과학적 워크플로에서 병렬 처리가 유용한 지점과 방해가 되는 지점에 대한 질문이 있습니다. 양자 화학 사용 사례(Rex 뒤에 있는 QDX)는 현재 제 이해를 넘어서서 잘 모르겠습니다. Rex 프로그램이 더 높은 수준의 워크플로 사양 언어의 출력으로 의도된 것 같습니다. 그 부분을 보는 것도 흥미로울 것 같습니다.

  2. lubitelpospat

    훌륭한 작업입니다!

    Nextflow나 Snakemake 같은 기존 워크플로 언어와 어떻게 경쟁할지 궁금하네요. 혹시 "Nextflow/Snakemake에서 Rex로 마이그레이션해야 하는 이유"에 대한 자료가 어딘가 있을까요?

  3. cl3misch

    Dex를 언급할 줄 알았는데, 서로 관련이 없는 것 같네요?

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

이 날의 다른 글

2026-08-22