reduceやinjectと双対な関数・メソッドの名前について
畳み込み関数に対してはfold
,reduce
,inject
等、プログラミング言語や引数の型ごとに色々な名前が使われていますが、これと双対な関数はどのような名前を持つのでしょうか?fold
にはunfold
が対応する(F#,Haskell)のですがreduce
、inject
に対応する関数の名前が分かりません。
このような関数を探したり、自前で定義する際に必要だと思い質問しました。
補足:unfoldの仕様
F#のSeq.unfold
は関数f
と初期状態s
を引数に取り、シーケンスを返す関数です。f
は現在の状態からシーケンスの要素と次の状態のタプルをoption
として返す関数です。f
がNone
を返すことで結果のシーケンスの生成を打ち切ります。
Haskellのunfoldr
も同様です。