Hi Philipp,
depending on what engineering calculations you are interested in, you
might like http://timber-lang.org/ , a direct descendant of O'Haskell,
targeted at embedded real-time systems.
If you are just stepping out of the OO programming world, it might be
helpful to imagine OO as a rather narrow specialization of a concept
called type, so that from the FP perspective it is just one of so many
alternatives so that it gets lost a little -- which may be a useful
translation to use.
So the short answer to "where's OO?" in Haskell might just be "data",
while the expressive freedom of type classes / families might surprise
you. There have been some people playing with cellular automata, Google
helps, e.g.:
http://mjsottile.wordpress.com/
http://trac.haskell.org/gloss/
Both cases might give you an impression how it's done with Haskell types.
If you really are interested in using the OO class concept together with
the Haskell type system by a more than practical motivation, an expert
in the field who is interested in the subject for a long time is Peter
Padawitz (http://fldit-www.cs.uni-dortmund.de/~peter/
<http://fldit-www.cs.uni-dortmund.de/%7Epeter/>); he has presented a
beautiful synthesis based on category theory, swinging types
(http://fldit-www.cs.uni-dortmund.de/~peter/Swinging.html
<http://fldit-www.cs.uni-dortmund.de/%7Epeter/Swinging.html>). Of
course, he did also use O'Haskell for his programming works in the past.
Cheers,
Nick
On 01/14/2011 12:23 AM, gutti wrote:
Hi,
thanks for all Your answers (and again I'm amazed how active and good this
forum is).
I expected OOHaskell to be on the somewhat "extended" side, but I didn't
expect it to be so uncommon.
This very strong and clear feedback is indeed very valuable.
I think I see the complexities of OO-programming in larger programs
(unforeseen interactions), but I'm still doubtfull, that functional
programming can equally adress all tasks equally efficient.
I'm especially interestes in engineering calculation tasks where cellular
automata could be used. In that case all u have to do is to give the class
the right properties and that "let it grow".
Such a localised intelligence approach seems an ideal OO - task. I don't
know whether something functional could achieve the same.
Sounds like a nice challenge. -- I'll chew on a small example.
Cheers Phil
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe