On Fri, 18 Aug 2000, Doug Ransom wrote:
> I do believe FP is current 90 degrees out of phase with OO. I think the
> isue with tuples, lists, conses, etc. it the big problem. I currently see
> no way for someone to write a clever matrix library in Haskell and have it
> seamlessly integrate into the NGWS framework (the new object type and
> runtime system from MS likely here to stay for a long long time) and C#, VB,
> etc. The impedance mismatch is just too high.
I can't quite see why you say (at least twice) `is 90 degrees out of phase
with OO' rather than `90 degrees out of phase with lots of assumptions &
attitudes prevailing in mainstream (imperative) programming', and surely
that's the big problem? I'm just pointing this out because I do believe
that (de-hyped) OO is a useful & productive way of programming some kinds
of thing, and that both type classes and the object oriented haskell
extensions (nb: only read the reports, not actually progammed with
these firsthand) are useful for solving problems using Haskell.
However, the issue that lots of the simple & productive ideas
from FP are culturally alien & even suspect to programmers in other
languages is very true. I write lots of stuff in C++ and the fact that I
have functions returning two results return a pair<T,U> rather than either
a specially created class or a copy-into-reference-parameter, or that I
use STL vectors/lists rather than writing inplace code using
arrays/pointers elicits cries of `Yuck' & `Too weird'. And I agree that
this is a real phenomenon/problem which may well lead to Haskell remaining
a language that's scorned (in both senses) and runtime systems which make
it difficult to do simple Haskell things.
But unless I'm missing something, this has nothing in particular to do
with OO. (I may well be: I know nothing of NGWS)
___cheers,_dave________________________________________________________
www.cs.bris.ac.uk/~tweed/pi.htm|tweed's law: however many computers
email: [EMAIL PROTECTED] | you have, half your time is spent
work tel: (0117) 954-5250 | waiting for compilations to finish.