Haskell中">>"运算符的正确名称是什么?

3

单子 (>>) :: Monad m => m a -> m b -> m b 运算符是众所周知的。我想知道它的名称。

  • this Haskell tutorialthis one中,他们称这个操作符为"then"。这是一个不错的名字,在do-notation方面非常合理。一个小缺点是与三元运算符的then冲突。
  • 在我的母语Haskell传统中,我们称之为"усечённое связывание",翻译为"truncated bind"。在俄语中可能有些不便,因为它会与"bind's section"的翻译产生冲突,但我没有看到英文中有类似的问题。有人在英文中使用这样的名称或类似的名称吗?一种诗意的表述可能是"frustum"

是否有人对这个操作符使用其他名称?哪个是首选?


9
大家都称之为 "then",是的:https://wiki.haskell.org/Pronunciation,https://dev59.com/o5bfa4cB1Zd3GeqP0egN,https://dev59.com/pmsz5IYBdhLWcg3wpZry。 - Bergi
3
我理解为 "然后",以消除歧义。 - Will Ness
"Sequence"是名称,读代码时发音为"then"。 - Thomas M. DuBuisson
2
@ThomasM.DuBuisson 说实话,我最讨厌"sequence"这个函数,因为还有另一个名为"sequence"的函数在单调代码中频繁出现。与其他函数不同,这种冲突似乎是很严重的。 - Zhiltsoff Igor
1
关键是要将其与 <* 区分开来,无论如何。我使用 "then" 或 "and then" 来表示 >>*>,并使用 "before" 来表示 <* - dfeuer
1个回答

0

我们称它为“短鱼”(因为>=>是“鱼”,而>>则是身体较短的那种)。

或者也可以叫做“fsh”,一种没有i内部部分的“鱼”。

既然我已经看到了某个名称为(.).(.)的运算符,我还可以建议将>>称为另一个名称,您可以通过浏览此帖子的编辑历史记录来发现...

另一个可能性是... chicane 运算符


@ZhiltsoffIgor,我建议了第三个可能的名字。 - Enlico
我喜欢你的思维方式 ;)。 - Zhiltsoff Igor
1
我认为StackOverflow不是一个发明名称的好地方。 - Bergi
@ZhiltsoffIgor,我想我有“最终”的答案。 - Enlico

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接