[Haskell-cafe] State of OOP in Haskell
szefirov at ot.ru
szefirov at ot.ru
Thu Feb 8 06:36:39 EST 2007
Steve Downey wrote:
> 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.
Some of Haskell constructs come from the area of formal methods.
Notably, algebraic types come from Z-notation (as I am told).
Formal methods in general and Z notation in particular precede OO as
defined, for example, in Smalltalk-80.
Formal methods do not require substantial training and/or costly tools
(although both exists). It can be trained in several weeks and start
bringing benefits.
Here are two surveys (somewhat outdated) on the use of formal methods in
industry:
http://citeseer.ifi.unizh.ch/39426.html
http://citeseer.ifi.unizh.ch/craigen93international.html
So, you can safely borrow methodics from formal methods and even think
about Hindley-Milner type system as a theorem prover.
More information about the Haskell-Cafe
mailing list