Haskell 哈斯克尔公司;函数式语言的实现
我在执行Simon L Peyton Jones和David R Lester编写的《实现函数式语言:教程》一书中的章节时遇到了困难 我在OSX上使用ghc,并使用make生成输入,例如“make language.lhs”和“make utils.lhs”Haskell 哈斯克尔公司;函数式语言的实现,haskell,Haskell,我在执行Simon L Peyton Jones和David R Lester编写的《实现函数式语言:教程》一书中的章节时遇到了困难 我在OSX上使用ghc,并使用make生成输入,例如“make language.lhs”和“make utils.lhs” 有人和ghc一起看过这本书吗 请参阅附录A.5,其中定义了许多函数,以避免版本更改时出现兼容性问题。从该附录中: 而且,这本书是用米兰达的例子写的,而不是哈斯克尔的。您可能会发现一些小的不兼容情况,在这些情况下,您需要更深入的理解,而不仅
有人和ghc一起看过这本书吗 请参阅附录A.5,其中定义了许多函数,以避免版本更改时出现兼容性问题。从该附录中:
而且,这本书是用米兰达的例子写的,而不是哈斯克尔的。您可能会发现一些小的不兼容情况,在这些情况下,您需要更深入的理解,而不仅仅是复制和粘贴。请参阅附录a.5,该附录定义了许多函数,以避免在更改版本时出现兼容性问题。从该附录中:
而且,这本书是用米兰达的例子写的,而不是哈斯克尔的。您可能会发现一些小的不兼容情况,在这些情况下,您需要更深入的理解,而不仅仅是复制和粘贴。不要问“有人看过ghc的这本书吗?”这样的问题,答案几乎肯定是肯定的。问另一个更具体的问题,并在堆栈溢出时问它。你真的需要说明错误消息是否相关–你确定你的意思是
foldll
,末尾用小写字母L,而不是foldl1
,后面用数字1?如果是这样,您在哪里定义了该函数,以及如何加载该代码?如果没有,简单地纠正你的错误。不要问像“有人看过这本书和ghc吗?”这样的问题,答案几乎肯定是肯定的。问另一个更具体的问题,并在堆栈溢出时问它。你真的需要说明错误消息是否相关–你确定你的意思是foldll
,末尾用小写字母L,而不是foldl1
,后面用数字1?如果是这样,您在哪里定义了该函数,以及如何加载该代码?如果没有,简单地纠正你的错误。
peano:pj-lester-book bwat$ make utils.lhs
cat utils.src | ./make-version 1 G >utils.lhs
peano:pj-lester-book bwat$ make language.lhs
make: *** No rule to make target `language-tutor.src', needed by `language.lhs'. Stop.
peano:pj-lester-book bwat$ touch language-tutor.src
peano:pj-lester-book bwat$ make language.lhs
cat language.src language-tutor.src | ./make-version 3 G > language.lhs
peano:pj-lester-book bwat$ ghci
GHCi, version 7.8.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> :load language
[1 of 1] Compiling Main ( language.lhs, interpreted )
language.lhs:708:23:
Not in scope: ‘foldll’
Perhaps you meant one of these:
‘foldl1’ (imported from Prelude), ‘foldl’ (imported from Prelude),
‘foldr’ (imported from Prelude)
[Other similar errors deleted to save space]