在“仿函数,应用型函子幺”了解你的Haskell的章,米朗执行以下操作:GHC 7.0.4似乎已经忘记了如何申请函子
ghci> (pure 3) "blah"
3
然而,我得到这个:
ghci> (pure 3) "blah"
<interactive>:1:2:
No instance for (Functor ((->) [Char]))
arising from a use of `pure'
Possible fix:
add an instance declaration for (Functor ((->) [Char]))
In the expression: (pure 3) "blah"
In an equation for `it': it = (pure 3) "blah"
我不确定会发生什么。直到现在,所有示例都正常运行。我不能输入一些东西,但我不知道是什么。
这里是我的版本信息:
$ ghci -v
GHCi, version 7.0.4: http://www.haskell.org/ghc/ :? for help
Glasgow Haskell Compiler, Version 7.0.4, for Haskell 98, stage 2 booted by GHC version 6.12.3
我的〜/ .ghc/ghci.conf看起来是这样的:
{-# LANGUAGE Arrows #-}
:set prompt "[32;1m%s[0m\n> "
import Control.Arrow
import Control.Monad (when, forever, forM, liftM)
import Control.Applicative
-- import Control.Applicative (ZipList (..), (<$>), (<*>), pure)
import Control.Exception (IOException (..), catch)
import qualified Data.ByteString as ByteString (pack, unpack)
import qualified Data.ByteString.Lazy as LazyByteString (cons, cons', empty, fromChunks, pack, readFile, unpack, writeFile)
import Data.Char (chr, ord, toUpper, toLower, isDigit)
import Data.Function (fix, on)
import Data.Functor
import Data.List (find, genericLength, intercalate, intersperse, nub, tails)
import Data.Map (Map (..))
import qualified Data.Map as Map (fromList, lookup)
import Data.Monoid (mempty, mappend, mconcat)
import Data.Tuple (fst, snd, curry, uncurry, swap)
import System.Console.ANSI (setCursorPosition, clearScreen)
import System.Directory (renameFile, doesFileExist)
import System.Environment (getArgs, getProgName)
import System.IO (IOMode (..), stdout, openFile, withFile, hGetContents, hClose, openTempFile, hPutStr, hFlush)
import System.IO.Error (isDoesNotExistError)
import System.Random (StdGen (..), RandomGen (..), Random (..), getStdGen, mkStdGen, newStdGen, random, randomR, randomRIO, randoms)
import Text.Printf (PrintfArg (..), printf)
适合我... – Landei
什么版本的ghci是那个? –
适用于使用“The Glorious Glasgow Haskell编译系统,版本7.0.3”,从'Control.Applicative'输入'pure'' –