mutable records

Shawn P. Garbett
Thu, 5 Sep 2002 08:40:09 +0000

"Object" in common parlance is an amalgam of: data structure, methods for=
structure, state-boxes, and compositions of this amalgam. All developed o=
time using the age old method of accretion.

It says something when Scott Meyer can make a living writing books about =
you shouldn't do in C++. There's also a fellow who's put together an=20
interesting piece of criticism of OO:=20


On Thursday 05 September 2002 12:58 pm, Alastair Reid wrote:
> > Sill I want to make objects packed with their objects and
> > functions. Doesn't mean that I have to use existential data types?
> Only if you need to hide the type of the object.
> If you don't need to hide the type then Haskell's typeclasses
> give you (what I understand of) what you want.
> I can write polymorphic functions which take an arbitrary type of objec=
> and invoke methods like =3D=3D, + and show (say) on it.
>   foo :: (Eq a, Num a) =3D> a -> String
>   foo x =3D if x =3D=3D 0 then "" else show (x+1)
> Actually, I suspect this is not quite what you want but the word
> 'object' has been used by so many people to mean so many things that
> it's only by throwing out strawmen like Haskell's typeclasses that we
> can understand what you actually do mean.