On 22 Jan 2009, at 09:42, Erik de Castro Lopo wrote:

Hi all,

I'm using hoogle (http://www.haskell.org/hoogle/) as my main Haskell
documentations source, but I'm stuck on using ghc 6.8.2 and I keep
finding stuff listed in hoogle that isn't available in 6.8.2.

Is there any solution other than installing a more recent version of
ghc?

Are you sure that you're finding things that are unavailable in 6.8.2?  There's been very little change to the APIs exposed to beginners since then.  It may be that you're not importing the module required, when hoogle gives you a result like this:

Data.Mapinsert :: Ord k => k -> a -> Map k a -> Map k a
containers
O(log n). Insert a new key and value in the map. If the key is already present in the map, the associated value is replaced with the supplied value. insert is equivalent to insertWith const.> insert 5 'x' (fromList [(5,'a'), (3,'b')]) == 
you must use an import in your file to get access to it, as follows:

import Data.Map (insert)

or you can import the whole module like this:

import Data.Map

but this causes namespace polution, so it's not a great idea.  You can also import it so that you have to qualify all your uses of the functions:

import qualified Data.Map

f x y = Data.Map.insert 5 x y

-- or

import qualified Data.Map as M

f x y = M.insert 5 x y

Sorry if I just taught my granny to suck eggs.  If you are doing this and really are coming up against APIs that aren't in 6.8, then yes, you need to upgrade your compiler.  There's no real disadvantage to doing this though, except possibly that you lose support for one or two libraries that are taking a while to update (gtk2hs springs to mind).  You do however gain access to libraries that need newer compiler features (vector-space springs to mind).

Bob