[Haskell-cafe] State of OOP in Haskell

Steve Downey sdowney at gmail.com
Mon Jan 29 08:43:00 EST 2007


The primary goal of writing source code isn't to communicate to a
computer, but to communicate to a human being.
That implies that the communication should be at a high enough level
of abstraction to be easily understood by people, while not losing the
precision necessary for a computer.
OO, at least when done well, maps well to how people think. Things
that can be directed to perform actions. There is also a well
developed practice of OO analysis and design. It's not clear (at least
to me) that there is an equivalent set of practices for functional
programming.
It did take more  than a decade for the industry to move from
structured analysis and design to OO, even when it was obvious to most
practioners that there was a horrible mismatch, and the models coming
out of analysis didn't apply.
The consensus answer to 'how do I implement my OO model in Haskell'
seems to be 'you're asking the wrong question'. But what is the right
question?

On 1/28/07, Frederick Ross <madhadron at gmail.com> wrote:
> I'm going to be offensive, bigoted, and myopic for a minute here:
> programming straight onto the Turing machine (and not too
> dissimilarly, the von Neumann machine) is the act of making your
> thoughts comprehensible to a little gizmo that exists to zip back and
> forth on an infinite ticker tape.  We should therefore abstract.
> However, I am only marginally happier about making my thoughts
> comprehensible to a tinkertoy set (which is how I regard object
> oriented programming).
>
> Why not just stay as close to mathematics as possible?  Why the deep
> desire to communicate your loftiest intentions to a tinkertoy set?
>
> There was the Lambada project to map between Java's object hierarchies
> and Haskell, however, and there was a lot of effort put into making
> Haskell talk properly through COM.  Both of those necessitate a model
> of object oriented programming embedded in Haskell which would provide
> you with prior art.
>
> On 1/27/07, Alexy Khrabrov <deliverable at gmail.com> wrote:
> > ...In the tradition of the "letters of an ignorant newbie"...
> >
> > What's the consensus on the OOP in Haskell *now*?  There're some
> > libraries such as OOHaskell, O'Haskell, and Haskell~98's own qualified
> > type system with inheritance.
> >
> > If I have GHC, which way to do anything OOP-like is considered "right"
> today?
>
> --
> Frederick Ross
> Graduate Fellow, (|Siggia> + |McKinney>)/sqrt(2) Lab
> The Rockefeller University
> Je ne suis pas Fred Cross!
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>


More information about the Haskell-Cafe mailing list