【发布时间】:2017-05-16 08:49:34
【问题描述】:
在阅读 Hutton 的新文本时,我在 ghci 中遇到了奇怪的行为。当我从文本文件加载函数 altmap 时,它的行为正确;但是直接在 ghci 中输入相同的两行会出现如下所示的错误:
*Main Lib> altmap f g [] = []
*Main Lib> altmap f g (x:y:xs) = (f x):(g y):(altmap f g xs)
*Main Lib> altmap (2*) (3*) [1,2,3,4,5,6]
[2,6,6,12,10,18*** Exception: interactive:2:1-49: Non-exhaustive patterns in function altmap
当我在这里的时候,有人能解释一下“Prelude”和“Main Lib”之间的区别吗?我正在使用 ghc 8.0.2 的 rc2 版本
【问题讨论】:
-
请注意,在版本 8 之前的 GHCi 中,您必须使用
let ... = ...。
标签: haskell