我一直在阅读有关组合器的文章,并看到它们有多么有用(例如,在 Haskell 的 Parsec 中)。我的问题是我不太确定如何实际使用它们。
这是问题的概要:可以生成、过滤和修改分布。可以组合分布以创建新分布。
基本接口是(在伪 Haskell 类型术语中):
generator:: parameters -> distribution
selector:: parameters -> (distribution -> distribution)
modifier:: parameters -> (distribution -> distribution)
现在,我认为我看到了三个组合器:
combine:: generator -> generator -> generator
filter:: generator -> selector -> generator
modify:: generator -> modifier -> generator
这些实际上是组合器吗?组合器是否有意义/我还缺少其他明显的组合器吗?
感谢您的任何建议。