Look in Data.Int for a list of the Int types.
Basically you generally only use Int unless you are working at a lower-
level which has an explicit requirement for the number of bits. In
this case, HashTable has such a requirement, so you have two choices:
you can either change the type annotation on dummy:
import Data.Int
dummy:: String -> Int32
dummy s = 7
or you can just leave it off entirely, and GHC will automatically
infer the correct type (without you needing to import Data.Int):
dummy s = 7
On Nov 17, 2009, at 12:09 PM, michael rice wrote:
Hi Daniel,
Thanks for the IO monad reminder.
What is GHC.Int.Int32? Can't find it on Hoogle.
Michael
==================
*Main> ht <- new (==) dummy :: IO MyHashTable
<interactive>:1:15:
Couldn't match expected type `GHC.Int.Int32'
against inferred type `Int'
In the second argument of `new', namely `dummy'
In a stmt of a 'do' expression:
ht <- new (==) dummy :: IO MyHashTable
*Main> :t dummy
dummy :: String -> Int
*Main>
--- On Tue, 11/17/09, Daniel Fischer <[email protected]> wrote:
From: Daniel Fischer <[email protected]>
Subject: Re: [Haskell-cafe] Simple hash table creation
To: [email protected]
Date: Tuesday, November 17, 2009, 2:45 PM
Am Dienstag 17 November 2009 20:36:46 schrieb Daniel Fischer:
> What you probably wanted was
>
> type MyHashTable = HashTable String Int -- not data MyHashTable
>
Just in case it's not clear:
> ht <- new (==) dummy :: IO MyHashTable
only works at the prompt or in an IO do-block, not at the top level
of the module.
>
> then ht is a hashtable of type MyHashTable.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe