首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lambda抽象符号

Lambda抽象符号
EN

Stack Overflow用户
提问于 2014-12-04 20:39:38
回答 1查看 157关注 0票数 0

我在各种学术论文中看到过lambda抽象符号,这些论文使用TeX将Haskell符号转换为适当的箭头,并将希腊lambdas等表示为

代码语言:javascript
复制
λx.t

而不是

代码语言:javascript
复制
λx -> t

第一种方法来自lambda演算本身,第二种方法是当前的Haskell语言语法。

现在在Haskell上写论文时,使用正式的lambda演算风格的符号是否合适?

EN

回答 1

Stack Overflow用户

发布于 2014-12-04 20:49:31

好吧,..。

..。这是一个很难回答的问题。至少它可能会让人感到困惑,所以,无论您何时这样做,您都可能不想再使用.来表示函数组合,就像在(诚然,有些人为的)中那样。

代码语言:javascript
复制
(>>>) = λf. λg. g . f

相反,您可能希望将其排版为,例如

代码语言:javascript
复制
(>>>) = λf. λg. g ∘ f

个人而言,..。

..。为了避免混淆,我通常更喜欢

代码语言:javascript
复制
(>>>) :: ∀α. ∀β. ∀γ. (α → β) → (β → γ) → α → γ
(>>>) =  λf → λg → g ∘ f

lambda绑定器上有一个样式精美的箭头,forall绑定器上有圆点,函数复合操作符上有圆圈。

顺便说一句:lhs2TeX是进行这种排版的一个很好的工具。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27294344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档