On Apr 28, 2009, at 23:32 , michael rice wrote:
Thank guys,

Now what am I misunderstanding in the code below?

lst = [('A',65),('B',66),('C',67),('D',68)]

You didn't give a type for lst, so it defaulted to [(Char,Integer)].  This is a manifestation of the Monomorphism Restriction, invoked because lst doesn't take any arguments:  it forces lst to have a definite type, so defaulting is used to fix the numeric part to Integer.

If you add a type specification for lst, things will work as you expect.

-- 
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH