私はコンビネータについて読んでいて、それらがどれほど有用であるかを見てきました(たとえば、HaskellのParsecで)。私の問題は、それらを実際にどのように使用するかがよくわからないことです。
問題の概要は次のとおりです。ディストリビューションは、生成、フィルタリング、および変更できます。ディストリビューションを組み合わせて、新しいディストリビューションを作成できます。
基本的なインターフェースは(疑似Haskellタイプの用語で):
generator:: parameters -> distribution
selector:: parameters -> (distribution -> distribution)
modifier:: parameters -> (distribution -> distribution)
今、私は3つのコンビネータを見ていると思います。
combine:: generator -> generator -> generator
filter:: generator -> selector -> generator
modify:: generator -> modifier -> generator
これらは実際にコンビネータですか?コンビネータは理にかなっていますか/私が見逃している他の明らかなコンビネータはありますか?
アドバイスありがとうございます。