Lambda抽象符​​号

时间:2014-12-04 12:39:38

标签: haskell

我在各种学术论文中看到了lambda抽象符​​号,它使用TeX将Haskell符号转换为正确的箭头和希腊语lambdas等呈现为

λx.t

而不是

λx -> t

第一种方法来自lambda演算,后者是当前的Haskell语言语法。

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

1 个答案:

答案 0 :(得分:4)

好吧,......

......这是一个难以回答的问题。至少它可能会让人感到困惑,因此,无论何时你做,你都可能不想再使用.来表示功能组合,就像在(诚然,有点做作)中一样

(>>>) = λf. λg. g . f

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

(>>>) = λf. λg. g ∘ f

就个人而言......

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

(>>>) :: ∀α. ∀β. ∀γ. (α → β) → (β → γ) → α → γ
(>>>) =  λf → λg → g ∘ f

带有用于lambda-binders的精美样式箭头,用于forall-binders的圆点,以及用于函数组合运算符的圆圈。

顺便说一句:lhs2TeX是进行此类排版的绝佳工具。