I/O を端に追いやる
FP の主な目的は、「内部を見なくても予測可能で理解しやすい関数を扱うこと」 これを実現するには...
関数が明示的な依存関係を持つようにすること
e.g. ランダム性、関数外にある変数の置き換え、あらゆる種類の I/O
あらゆる種類の I/O
データベースやファイルシステムの読み書き
副作用を避けつつ、どうやってデータを読み書きするか
https://scrapbox.io/files/6690960a4edb40001c7d7b30.png
データベースのアクセスは、ワークフロー内部ではなく、データフロー開始時または終了時のみ行うようにする