This is on our wishes for Haskell-2.
Fergus Henderson, Joergen Froejk Kjaersgaard wrote on Haskell-2:
H> I think there's lots of other things lacking too, including the ability
H> to do destructive update (as with the Hugs/ghc ST module, for example),
H> optional dynamic typing, existential types, unsafePerformIO, a portable
H> foreign language interface, etc.
K> I agree. What I was trying to say was that most of the "core" language
K> is as it should be. What we are talking about now are "higher level"
K> features.
Haskell, please, remain functional.
Remember you are called Haskell after Curry.
Otherwise, let it be called, say, Fortran-2000, or maybe,
C+patternMatching++.
But i forsee that people would not agree with me.
So, at least, when considering the extensions, let us separate
explicitly the non-functional features.
How can people mix in one list `existential types' and
`destructive update...' ?
This is like to eat a dinner: soup, kali cyan, fried potatoes.
If the Haskell-2 committee does not pay enough respect to
functionality, let it at least
gather all the non-functional features
and require a standard compilation flag for them.
That is, compiling multiparametric classes, instance overlaps,
existential types - this is silent.
But to use destructive update or reading from file, or such,
it needs -fnon-functional compilation key, or something.
As to me, my hopes for Haskell-2 consist mostly of
* relaxing the overlap instance restrictions - further than it is
done in existing implementations
* supporting specializations with `=' part - or something that
allows applying one name for functions of different types
* supporting DCONV pragma for type (domain) conversion
(part of Basic Algebra proposal)
* algebraic classes reorganisation (part of Basic Algebra proposal)
* moving FiniteMap to Standard
------------------
Sergey Mechveliani
[EMAIL PROTECTED]