我是Haskell的新手,在开始之后ghci我尝试过:
f x = 2 * x
Run Code Online (Sandbox Code Playgroud)
我获得了:
<interactive>:1:4: parse error on input `='
Run Code Online (Sandbox Code Playgroud)
我不明白.
奇怪的是,它之前运作良好.我想我已经完成了错误配置的Haskell.重新安装ghc6并不能解决问题.
有关信息,我使用的是Ubuntu 10.4,ghc6的版本是6.12.1-12
为什么我不能在GHCi中定义类型?
Prelude> data MyBool = T | F
<interactive>:1:0: parse error on input `data'
Run Code Online (Sandbox Code Playgroud) 在评论ghci中的新功能时,我希望ghci能够声明类型声明并声明新的ADT类型,有人告知它确实可行,并且在搜索之后我发现 这个页面告诉我我可以做
let numUniques' :: (Eq a) => [a] -> Int; numUniques' = length . nub
Run Code Online (Sandbox Code Playgroud)
显然,相同类型的语法适用于模式匹配(例如,让a 1 = True; a 2 = False).
创建ADT会让它几乎完美吗?有谁知道目前是否可能?我应该制作ADT临时文件并重新加载吗?
PS有谁知道是否有任何计划这样做?是否有ghc(i)的功能请求?
我也知道它的开源,但我目前还不够聪明,无法攻击ghc(i).