Haskell函数

时间:2013-02-26 05:14:06

标签: haskell

我正在尝试编写一个函数来打印一个语句并调用另一个函数,但是我在定义它时会遇到一些问题。这是我到目前为止所得到的。

代码:

bad_input :: --dont know what goes here
bad_input = putStrLn "Bad Input"
            evaluate_input      

1 个答案:

答案 0 :(得分:1)

首先,你不需要类型签名,Haskell几乎在所有情况下都会为你推断它。其次,你需要在=的正确视线上有一个表达式,但你有两个不相关的表达式 - 你需要以某种方式将它们联系在一起。这导致了第三点:IO与命令式语言完全不同,因为你需要在一个名为IO的monad中用“真实世界”包装你的交互,因为Haskell是一种非严格的语言(这意味着计算)可以“及时”执行 - 不适合输入/输出)和纯语言(这意味着值一旦计算就不会改变)。

我可以为你编写代码,但我觉得这会弊大于利,让你比以前更加困惑。因此,请遵循Cat Plus Plus提供的建议并阅读http://learnyouahaskell.com/(或http://book.realworldhaskell.org/)以获得真正的理解。从简单的事情开始,在Haskell中IO并不容易。