Nelle "Funtori, applicativi funtori e monoidi" Capitolo delle Imparare You A Haskell, Miran esegue le seguenti operazioni:GHC 7.0.4 sembra aver dimenticato come applicare funtori
ghci> (pure 3) "blah"
3
Io però ottenere questo:
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"
Non so cosa succederà. Tutti gli esempi hanno funzionato correttamente fino ad ora. Non devo aver importato qualcosa, ma non so cosa.
Ecco il mio informazioni sulla versione:
$ 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
mio ~/.ghc/ghci.conf appare così:
{-# 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)
Funziona per me ... – Landei
Che versione di ghci è? –
Lavora per me utilizzando "The Glorious Glasgow Haskell Compilation System, versione 7.0.3", con 'pure' importato da' Control.Applicative' –