gpt4 book ai didi

haskell - 为什么 Haskell 使用 -> 而不是 =?

转载 作者:行者123 更新时间:2023-12-04 05:03:34 27 4
gpt4 key购买 nike

为什么 Haskell 使用“->”,而它似乎只是使用了“=”?

例如,这有什么问题?

take m ys               = case (m,ys) of
(0,_) = []
(_,[]) = []
(n,x:xs) = x : take (n-1) xs

或者
(\x = x * x)

最佳答案

写出来会很不幸

(0, _) = []

因为那不是真的。

在 Robert Recorde 的传统中,我们只在希望左侧等于右侧时才尝试编写方程。所以我们写
dup x = (x, x)

制作 dup x等于 (x, x) , 或者
dup = \ x -> (x, x)

制作 dup等于映射 x的函数至 (x, x) , 但不是
\ x = (x, x)

因为没有办法制作 x等于 (x, x) .

当我们允许“跌倒”时,我们只会稍微偏离传统,例如,
f 0 = 1
f n = 2 * f (n - 1)

但仅在第二行有一个无声的“否则”的意义上。

关于haskell - 为什么 Haskell 使用 -> 而不是 =?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25183280/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com