Haskell 在哪里。。定义

Haskell 在哪里。。定义,haskell,enums,enumeration,typeclass,definition,Haskell,Enums,Enumeration,Typeclass,Definition,我只是想知道。是否真的在Haskell代码中定义了,比如在?enumFromTo是同一件事吗?我不明白定义是什么 enumFromTo x y = map toEnum [fromEnum x .. fromEnum y] [ e1 .. e3 ] = enumFromTo e1 e3 这是报告中指定的语法的一部分 是,使用enumFrom等函数将其转换为代码。函数: 编辑问题:您显示的定义是Enumtypeclass中的“默认定义”。就在你链接的前奏曲中这样说: 类枚举a,其中

我只是想知道
是否真的在Haskell代码中定义了,比如在?
enumFromTo
是同一件事吗?我不明白定义是什么

enumFromTo x y  =  map toEnum [fromEnum x .. fromEnum y]

[ e1 .. e3 ]  =  enumFromTo e1 e3
这是报告中指定的语法的一部分

是,使用
enumFrom
等函数将其转换为代码。函数:

编辑问题:您显示的定义是
Enum
typeclass中的“默认定义”。就在你链接的前奏曲中这样说:

类枚举a,其中
成功,预测::a->a
toEnum::Int->a
fromnum::a->Int
enumFrom::a->[a]-[n..]
enumFromThen::a->a->[a]-[n,n'..]
enumFromTo::a->a->[a]-[n..m]
enumFromThenTo::a->a->a->[a]-[n,n'..m]
--最小完整定义:
--toEnum,fromnum
--             _______                                      -- ____
--注意:这些默认方法仅适用于类型--**NB
--使用fromEnum将该映射内射到Int
--还有托纳姆。
such=toEnum。(+1) . fromEnum
pred=toEnum。(减去1)。fromEnum
enumFrom x=映射到数值[fromEnum x..]
enumFromTo x y=映射到数值[fromEnum x..fromEnum y]
enumFromThen x y=映射到数值[fromEnum x,fromEnum y..]
枚举从n到x y z=
映射到num[fromEnum x,fromEnum y..fromEnum z]
因此
Enum
中的每个类型
a
必须至少提供
toEnum::Int->a
fromnum::a->Int
的定义。如果它没有为例如
enumFromTo::a->a->a->[a]
提供自己的定义,则将使用其默认定义:

enumFromTo :: a -> a -> [a]
enumFromTo x  y   =  map  toEnum  [fromEnum x .. fromEnum y ]
--        └a┘└a┘                           └a┘           └a┘
--                                 └──Int────┘   └──Int────┘
--                       └Int->a┘ └─────────[Int]───────────┘
--                   └───────────────[a]────────────────────┘

对于
Int
类型本身,库中的某个地方定义了一个特定的定义,因此
enumFromTo
的默认定义不用于
Int
,因此没有恶性循环。

您如何定义它的后缀形式?它不是一个函数,它接受一个数字并返回一个有限的范围,范围一直到这个数字为止。@B好的,我去掉了括号。不管括号是什么,
a..
都是一个有效的表达式,它不是一个函数,同样
a,a+3..
。你如何定义它们?