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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to