Haskell-将小写字符转换为大写字符的函数

Haskell-function to convert lower case char to uppercase char

我在 Haskell 教程中偶然发现了一些似乎对我不起作用的代码。

fromEnum :: Char -> Int
toEnum :: Int -> Char

offset :: Int
offset = fromEnum 'A' - fromEnum 'a'

toUpper :: Char -> Char
toUpper ch = toEnum (fromEnum ch + offset)

摘自的教科书指出以下转换函数会将小写字符 Char 转换为大写字符。但是,当我尝试 运行 脚本时,我收到以下错误消息:

eval.hs:1:1:
    The type signature for ‘fromEnum’ lacks an accompanying binding
      (The type signature must be given where ‘fromEnum’ is declared)

eval.hs:2:1:
    The type signature for ‘toEnum’ lacks an accompanying binding
      (The type signature must be given where ‘toEnum’ is declared)
Failed, modules loaded: none.

我是 Haskell 的新手,所以有人可以告诉我我在这里缺少什么吗?教科书错了吗?

删除这些行:

fromEnum :: Char -> Int
toEnum :: Int -> Char

标准库已经定义了这些函数。通过添加以上行,您试图重新定义它们,这会触发错误。

教程可能提到它们存在,并没有邀请您在程序中添加这些功能。