Haskell Lambda抽象表示法
我在各种学术论文中看到了lambda抽象表示法,这些论文使用TeX将Haskell表示法转换为正确的箭头,并将希腊lambda等表示为Haskell Lambda抽象表示法,haskell,Haskell,我在各种学术论文中看到了lambda抽象表示法,这些论文使用TeX将Haskell表示法转换为正确的箭头,并将希腊lambda等表示为 λx.t 而不是 λx -> t 第一种方法来自lambda演算本身,后者是当前的Haskell语言语法 现在在Haskell上写论文时,使用正式的lambda演算形式的记谱法是否合适?。。。 。。。这是一个很难回答的问题。至少它可能会让人困惑,因此,无论何时您这样做,您可能都不想再使用来表示函数组合,例如(无可否认,有些做作) 相反,您可能希望将其排
λx.t
而不是
λx -> t
第一种方法来自lambda演算本身,后者是当前的Haskell语言语法
现在在Haskell上写论文时,使用正式的lambda演算形式的记谱法是否合适?。。。
。。。这是一个很难回答的问题。至少它可能会让人困惑,因此,无论何时您这样做,您可能都不想再使用
来表示函数组合,例如(无可否认,有些做作)
相反,您可能希望将其排版为,例如
(>>>) = λf. λg. g ∘ f
个人
。。。为了避免混淆,我通常更喜欢
(>>>) :: ∀α. ∀β. ∀γ. (α → β) → (β → γ) → α → γ
(>>>) = λf → λg → g ∘ f
对于lambda活页夹,有一个样式优美的箭头;对于forall活页夹,有点;对于函数组合运算符,有圆
顺便说一下:这是一个很好的排版工具。嗯。。。
。。。这是一个很难回答的问题。至少它可能会让人困惑,因此,无论何时您这样做,您可能都不想再使用
来表示函数组合,例如(无可否认,有些做作)
相反,您可能希望将其排版为,例如
(>>>) = λf. λg. g ∘ f
个人
。。。为了避免混淆,我通常更喜欢
(>>>) :: ∀α. ∀β. ∀γ. (α → β) → (β → γ) → α → γ
(>>>) = λf → λg → g ∘ f
对于lambda活页夹,有一个样式优美的箭头;对于forall活页夹,有点;对于函数组合运算符,有圆
顺便说一句:这是一个很好的排版工具。我认为这取决于潜在的读者。如果你在写数学,用数学符号。如果你希望它是跨语言的,同上。如果你在写一篇关于哈斯克尔的论文,请使用哈斯克尔符号。据我所知,点和箭头都是可以接受的数学符号;只是要和你使用的一致。(这类似于写exp(x)和e^x。两者都可以,只是保持一致。)我认为这取决于潜在的读者。如果你在写数学,用数学符号。如果你希望它是跨语言的,同上。如果你在写一篇关于哈斯克尔的论文,请使用哈斯克尔符号。据我所知,点和箭头都是可以接受的数学符号;只是要和你使用的一致。(这类似于写exp(x)和e^x。两者都可以;只是要保持一致。)