识字 haskell - 应用程序中的类型错误
literate haskell - Type error in application
这是我的代码:
> newtype IN_0 = IN_0 Integer deriving Show
> nminus :: IN_0 -> IN_0 -> IN_0
> nminus (IN_0 z) (IN_0 z')
> | z >= 0 && z' >= 0 = IN_0 $ maximum(0,z-z')
> | otherwise = IN_0 0
当我在 ghci 中编译它时它编译没有错误,但是当我尝试在 hugs 中编译它时我得到这个错误消息:
ERROR "untitled.lhs":51 - Type error in application
*** Expression : maximum (0,z - z')
*** Term : (0,z - z')
*** Type : (b,Integer)
*** Does not match : [a]
为什么?
> newtype IN_0 = IN_0 Integer deriving Show
> nminus :: IN_0 -> IN_0 -> IN_0
> nminus (IN_0 z) (IN_0 z')
> | z >= 0 && z' >= 0 = IN_0 $ maximum [0,z-z']
> | otherwise = IN_0 0
在 Hugs 中,使用最大值时必须使用 [Square] 括号
这是我的代码:
> newtype IN_0 = IN_0 Integer deriving Show
> nminus :: IN_0 -> IN_0 -> IN_0
> nminus (IN_0 z) (IN_0 z')
> | z >= 0 && z' >= 0 = IN_0 $ maximum(0,z-z')
> | otherwise = IN_0 0
当我在 ghci 中编译它时它编译没有错误,但是当我尝试在 hugs 中编译它时我得到这个错误消息:
ERROR "untitled.lhs":51 - Type error in application
*** Expression : maximum (0,z - z')
*** Term : (0,z - z')
*** Type : (b,Integer)
*** Does not match : [a]
为什么?
> newtype IN_0 = IN_0 Integer deriving Show
> nminus :: IN_0 -> IN_0 -> IN_0
> nminus (IN_0 z) (IN_0 z')
> | z >= 0 && z' >= 0 = IN_0 $ maximum [0,z-z']
> | otherwise = IN_0 0
在 Hugs 中,使用最大值时必须使用 [Square] 括号