我正在第一次在Haskell中进行项目工作,并且正在努力将ADT翻译成正确的代码,然而,当我写了明确的类型定义为我的功能,我打开我的代码在GHCI我得到以下错误:当为接受多个参数的函数进行明确的类型定义时,输入'::'解析错误
Blockquote parse error on input ‘::’
有问题的线是它接受一个字符和一个元组函数调用类型和返回一个元组,如下所示:
type :: validChars -> tuple -> tuple
其中validChars
是有效字符列表,我列出了定义,在这里显示,如果这有助于:
tuple = (l, r, b, k)
l = [l | l <- validChars]
m = [m | m <- validChars]
b = [b | b <- validChars]
k = [k | k <- validChars]
validChars = [ chr c | c <-alphanumericChars , c >= 32, c <= 122]
alphanumericChars = [ a | a <- [0..255]]
我检查,以确保它不是validChars
通过与Chars
类型替换它导致错误图:
type :: Chars -> tuple -> tuple
但我仍然得到同样的错误,我在哈斯克尔一个完整的初学者,所以我可能失去了一些东西很重要,但我不知道这将是准确;我已经查看了迄今为止我一直不成功的类似问题的答案。任何帮助,这将不胜感激。
'type'是[关键字](https://wiki.haskell.org/Keywords#type)。你的类型也需要从[大写字母](https://en.wikibooks.org/wiki/Haskell/Type_declarations) – HostileFork
开始我觉得这么愚蠢,不检查这一点,非常感谢! :) –