为什么我不能在GHCi中定义类型?
Prelude> data MyBool = T | F
<interactive>:1:0: parse error on input `data'
答案 0 :(得分:5)
GHCi是一个非常简单的REPL,它读取表达式并打印结果(通常),可以想象为交互式do
表达式。允许一般Haskell结构的问题是(a)如何将它们合并到已经加载的程序中,(b)如何在重载或其他重置REPL状态的动作上将它们合并。此外,当定义与已定义的内容冲突时,还有一些问题需要解决。然后有一个简单的事实,即当前的实现只是一个表达式求值程序,而编译新代码则更为复杂。