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