该符号来自 Doaitse Swierstra 和 Luc Duponcheel:他们已经为解析器组合器确定了这个接口,我们认为在有意义的地方尊重他们的选择很重要。我试图记住 Doaitse 是如何发音的,但我还是画了一个空白。
我更喜欢他们被看到而不是被听到。事实上,我也不希望它们被看到,因此有成语括号。但特别是在定义实例时,拥有名称会很有帮助。并不是说由我来命名它们:整个成语 vs 应用 vs 天知道-什么恶作剧是对权力的迷人研究。为了它的价值,用我自己的话说
<*>
is 'applied (to)' (界面是'pure and applied',就像数学一样)
*>
被“忽略”
<*
是“忽略”
<$>
是'映射(结束)'
<$
可能是“之后”,但我并没有意识到将其称为任何东西
关键思想:效果总是从左到右排列(无论这意味着什么);$ 或 * 告诉你他们左边的内容是纯粹的还是惯用的;雪佛龙告诉你产生的数据流,只指向信号。
另一种发音方案,远离个别操作员的水平,可能会翻译
f <$> a <*> b <* c <*> d
到'成语:f,a,b,NOISE c,d'或类似的东西。但这真的是阅读括号版本
(|f a b (-c-) d|)
响亮地。
我觉得“money”和“splat”很有趣,但我们最好优先考虑语义而不是语法。