TL;DR

  • Modeling Workflows as Pipelines で設計したパイプラインを F# で実装する。
  • 各ステップを独立した関数として実装してから、それらを関数合成する。合成を難しくする依存関係とエフェクトのうち、この章では依存関係を扱う。

内容

実装の 2 つの段階

実装は 2 つの段階に分かれる。

  1. パイプラインの各ステップを、独立した関数として実装する。各ステップはステートレスで副作用がないようにし、独立してテストし理解できるようにする。
  2. 1 で作った関数を合成する。

ただし、次の 2 つの理由から、関数は簡単には合成できない。

実際にコードを書くときも、本書の流れと同じように、Result や Async などのエフェクトを気にせず、まずすべてのステップを実装するとよい。そうすれば合成の基本に集中できる。

実装の流れ

ファイルの構成

ファイルはワークフローごとに作る。

module ワークフロー名 =
    // 1. 設計 (型定義)
 
    // 2. 各ステップの実装
 
    // 3. メインとなるワークフローの関数

キーワード