[Haskell-cafe] Re: [off-topic] OOPer?

Maurí­cio briqueabraque at yahoo.com
Mon Nov 17 18:49:50 EST 2008


 >  (...)  I don't recall where I found the following example, but copied
 > it locally as compelling evidence  that the functional solution can be
 > much clearer and  shorter than the same solution  modeled with objects
 > and inheritance.

Greg,

I desagree with you.  Bjarne Stroustrup, the original creator of C++, is
a sensible person and I share his peacefull opinion in this matter:

http://www.research.att.com/~bs/bs_faq.html#compare

Even with good  intentions, I've never seen such  kind of comparison not
to fall into religious fights. (Although I'm not more than just a humble
language user.)

 > -- Arithmetic expression forms data Expr = Num Int | Add Expr Expr
 >
 > -- Evaluate expressions
 > eval :: Expr -> Int
 > (...)

 > public abstract class Expr {
 >    public abstract int eval ();
 >    public abstract void modn(int v);

Although I'm not good enough to judge anyone's Haskell code, the Haskell
version  seems nice.  I  don't  know how  someone  who understands  well
object-oriented code  would do  that. But I  did C++ until  around 1998,
when the first standard was set, and  I can tell you for sure that, even
at that  time, no one who  knows at least  the basics of C++  would ever
write that problem like this.

Best,
Maurício



More information about the Haskell-Cafe mailing list