Kevin Atkinson:
> > > 3) Encapsulation. You can't have private and protected members. Some
> > > of this can be done using modules. However it is more work.
> >
> > What exactly can't be done with classes, and how, substantively, is
> > it more work?
> class Foo
> private: -- only members of the Foo class can see this
> ...
> protected: -- only mebers of the Foo class and those derived from foo
> -- can see it.
> public: -- anyone can see it
Well, the only problem I can see with doing this with modules is if
you wanted 'private' and a 'protected' members of the _same_ class,
which I confess I've never been mortally offended by lack of a capability
to cope with.
> > > 4) Cleaner more natural syntax.
> >
> > More like C++, you mean?
>
> Or Java. Although many OO things can be done in Haskell C++ and Java
> syntax is more natural more doing OO.
If I sound a tad skeptical about some of your suggestions, it may be
because you do seem to have something of the running undercurrent
in your posts that what Haskell _really_ needs to be is C++ with some
functional bits and bobs added on, which instantly gets my defensive
instincts going, as it sounds, without wanting to provoke Language
Wars here, like a truly alarming prescription for a language design,
and not one very compatible with Haskell as it's currently constituted.
In short, I'm unaware of any way in which C++ syntax is 'more natural',
other than in the sense of 'for a C++ programmer', or 'cleaner' -- at all.
Sl�n,
Alex.