Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能';由于语法错误,无法在Haskell上执行任何操作_Haskell_Syntax_Hugs - Fatal编程技术网

我能';由于语法错误,无法在Haskell上执行任何操作

我能';由于语法错误,无法在Haskell上执行任何操作,haskell,syntax,hugs,Haskell,Syntax,Hugs,我可以执行简单的操作,比如 Hugs> 2+2 比如说。或者任何行动 但在实际尝试定义函数时,例如: occurs :: Eq a => a -> [a] -> Bool occurs x l = x `elem` l 然后我得到了信息: ERROR - Syntax error in input (unexpected `=') 在其他情况下,我也会得到意外的“:”。我正在使用WinHugs。在交互模式下键入函数时,需要使用let,并且还必须用分号分隔行: le

我可以执行简单的操作,比如

Hugs> 2+2
比如说。或者任何行动

但在实际尝试定义函数时,例如:

occurs :: Eq a => a -> [a] -> Bool 
occurs x l = x `elem` l
然后我得到了信息:

ERROR - Syntax error in input (unexpected `=')

在其他情况下,我也会得到
意外的“:”
。我正在使用WinHugs。

在交互模式下键入函数时,需要使用
let
,并且还必须用分号分隔行:

let occurs :: Eq a => a -> [a] -> Bool; occurs x l = x `elem` l

您需要将函数保存在文件(*.hs)中,并通过
:load
加载它,因为提示只接受表达式

Hugs提示符仅接受表达式进行求值。您可以创建一个包含Haskell模块的文件,并加载该模块(有关详细信息,请参阅)


如果您想在REPL环境中试验函数定义,我建议您改用GHCi。

我复制了您编写和获得的内容:>错误-表达式中的语法错误(输入意外结束)@user3482534这对我来说很好,但我使用的是GHCi而不是Hugs。老实说,我建议改用GHC(和)而不是Hugs,它对一些更现代的功能有更好的支持,特别是考虑到Hugs的上一次构建是在2006年左右。但这是你问题的一个旁注。你能在定义周围用大括号试试吗,比如
让{ocurses::…;ocursexl=…}
?@bheklillr是正确的。安装Haskell平台并使用GHCi或.hs文件运行。在学习哈斯克尔时,拥抱更像是一种阻抗,而不是一种帮助。