我在各种学术论文中看到了lambda抽象符号,它使用TeX将Haskell符号转换为正确的箭头和希腊语lambdas等呈现为
λx.t
而不是
λx -> t
第一种方法来自lambda演算,后者是当前的Haskell语言语法。
现在在Haskell上写论文时,使用正式的lambda演算方式是否合适?
答案 0 :(得分:4)
......这是一个难以回答的问题。至少它可能会让人感到困惑,因此,无论何时你做,你都可能不想再使用.
来表示功能组合,就像在(诚然,有点做作)中一样
(>>>) = λf. λg. g . f
相反,您可能希望将其排版为,例如
(>>>) = λf. λg. g ∘ f
...为了避免混淆,我通常更喜欢
(>>>) :: ∀α. ∀β. ∀γ. (α → β) → (β → γ) → α → γ
(>>>) = λf → λg → g ∘ f
带有用于lambda-binders的精美样式箭头,用于forall-binders的圆点,以及用于函数组合运算符的圆圈。
顺便说一句:lhs2TeX是进行此类排版的绝佳工具。