gpt4 book ai didi

haskell - Haskell 中的零阶函数

转载 作者:行者123 更新时间:2023-12-04 14:36:41 24 4
gpt4 key购买 nike

我已经开始学习 Haskell 并且我正在尝试指定具有 Int 类型的任意零阶函数的 Haskell 类型签名。据我了解,使用一阶函数,它会类似于 k :: Int -> Int .这是否意味着零阶函数的类型签名只是 k :: Int ,或者这样假设是错误的吗?先感谢您!

最佳答案

Haskell 中没有“零阶”函数。 Haskell 中的每个函数的元数都为 1:每个函数接受一个参数,并返回一个值。返回值本身可能是另一个函数。 (高阶函数是其参数和/或返回类型本身就是函数类型的函数。)k :: Int不是函数;这只是一个 Int .
与 Haskell 中元数为 0 的函数最接近的是类型为 () -> a 的函数。对于某些类型 a .因为只有一个 () 类型的值,只有一种方法可以调用该函数:使用 () .

k :: () -> Int
k () = 3
(您可能会注意到,对于 () -> a 类型的每个值,只有一个 a 类型的函数;这是具有一定理论重要性的问题,但与此处的问题并不真正相关。)

关于haskell - Haskell 中的零阶函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69271955/

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