枚举Haskell中的元组实例

1 haskell types

我想定义一个元组(x, y)作为一个实例Enum类,知道这两个xy的实例Enum.以下尝试:

instance (Enum x, Enum y) => Enum (x, y) where
    toEnum = y
    enumFrom x = (x, x)
Run Code Online (Sandbox Code Playgroud)

只导致错误(y不在范围内).我是Haskell的新手,有人可以解释如何声明这样的实例吗?

dav*_*420 5

instance (Enum x, Enum y) => Enum (x, y) where
Run Code Online (Sandbox Code Playgroud)

另外,在上述线,x并且y是两种类型(类型变量).

    toEnum = y
    enumFrom x = (x, x)
Run Code Online (Sandbox Code Playgroud)

另外,在上述的两行,x并且y是这两个值((值)的变量).y-as-a-value尚未在任何地方定义,这就是它不在范围内的意思.

至于如何声明这样一个实例,我不确定你想要fromEnumtoEnum表现的方式,例如.