> As a plain, ordinary punter could I ask for one of two things:
> 
>    1) More or less kill Int as a general-purpose type and 
>         adopt unbounded
>       integers (Integer) as the standard integral type.
>
>    2) Stay with the current situation.
> 

Following quite a bit of discussion at a meeting at ICFP,
and subsequent discussion with a smaller group at Yale,
I must say that I am now strongly inclined to adopt (2); that is,
to make Haskell 98 be the same as Haskell 1.4 on Int vs Integer matter.
(This differs from the view put forth on the "state of play" web page.)

The more this topic gets discussed the more I that it's like
other Prelude things: you pull on one thing and the plate of spaghetti
ends up in your lap.  My rule of thumb is that anything that's debatable
shouldn't be changed, and this is clearly such a thing.

I know there will be some who would think that no-change is
a Terrible Thing.  But I don't think Chris's "plain ordinary punters"
will notice.  They don't write programs with lists longer than
2^31.


A separable proposal is that the "default default" should be 
        (Integer, Double)
instead of the current (Int,Float).  This means that an ambiguous
Num type would be defaulted to Integer instead of Int, and that's probably
the right thing to do.   It's easily overridden with a single
"default" declaration.  So I'm inclined to make this change.

Summary proposal
~~~~~~~~~~~~~~~~~
* Leave the type of length, take, drop, fromEnum etc alone,
recognising that they are unsatisfactory.

* Change the default default to (Integer, Double)


Other things came out of the same meetings.  I'm going to
write them up too, but I wanted to get this one on the table
fast.  BTW, the agreed name is Haskell 98.

Simon


Reply via email to