我正在回顾Haskell:函数式编程的工艺,但是第356页的类型签名已经引发了我的循环.
这是一个简单的:
succeed :: b -> Parse a b
succeed val inp = [( val, inp )]
Run Code Online (Sandbox Code Playgroud)
怎么可能b -> Parse a b,如果
succeed Int -> Int
succeed a = a
Run Code Online (Sandbox Code Playgroud)
和,
succeed Int -> Int -> Int
succeed a b = a + b
Run Code Online (Sandbox Code Playgroud)
您在论证类型声明中的论据数量是多少?你怎么能采取val,并且imp,如果你的类型声明只有一个类型的变量:succeed :: b -> Parse a b应该是阅读,做类型的一个变量a并返回一个类型的Parse a b,用不了两个变量...是哪里inp允许?
haskell ×1