module Main

alicebob :: String -> String
alicebob "alice" = "Hi alice"
alicebob "bob" = "Hi bob"
alicebob _ = "Hi person whose name is neither alice nor bob."

greet :: IO ()
greet = do
      putStrLn "hi. whats your name?"
      name <- getLine
      putStrLn (alicebob name)

简单的编程练习即可获得一些用户输入并进行回复。刚开始学习haskell,所以请原谅这个简单的问题。在alicebob ::String -> String行上出现错误。
我该如何解决?

最佳答案

模块标题必须包含where

module Main where
--          ^^^^^

编译器希望找到where(可能在导出列表之后),并且当找到alicebob时,它将引发错误。

关于haskell - 为什么这个[haskell]编译错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19058941/

10-13 06:04