私はパイプライブラリのソースコードを見ています。たとえば、コアモジュールでは、作者がそのような関数を定義するパターンを使用してあちこちにいる理由がわかりません:
runEffect = go
where
go p = ...
または:
pull = go
where
go a' = ...
または:
reflect = go
where
go p = ...
これは、いくつかの最適化を有効にするためのトリックですか? それが最適化のトリックである場合、コンパイラがそのようなことなしにそれを実行できることを本当に望んでいます。でも、もしかしたら別の理由があるのでは?