I said "theoratical", but not "mathematical" or "a scientific" theory.    Meyer have built a quite coherent construction in comparison with other OOP langs.
 
BTW, when I started study haskell i had similar question: is it possible to add DbC to haskell? Does haskell need DbC?
For example, class invariants may be expressed in DbC construction (fmap id = id for Functior, for example).
 
02.01.2013, 02:41, "Mike Meyer" <m...@mired.org>:

MigMit <miguelim...@yandex.ru> wrote:

On Jan 1, 2013, at 10:23 PM, Никитин Лев <leon.v.niki...@pravmail.ru>
wrote:
 Eiffel, for my opinion, is a best OOP language. Meyer use a
theoretical approach as it is possible in OOP.
Really? Because when I studied it I had a very different impression:
that behind this language there was no theory at all. And it's only
feature I remember that is not present in mainstream languages is it's
pre/postconditions system, which looked like an ugly hack for me.

I agree with Leon. Of course, I learned it out of OOSC2, which provides the theory. When compared to "mainstream" OO languages like C++, Java or Python, it's on a much solider theoretical basis.  Compared to something like Scheme, Haskell or even Clojure, maybe not so much.

On the other hand, one persons theory is another persons hack. The theory behind the pre/post conditions is "Design by Contract". The contracts are as important as the type signature, and show up in the auto-generated docs in eiffel systems. I found at least one attempt to add DbC features to Haskell. I'm not sold on it as a programming technique - the bugs it uncovers are as likely to be in the pre/post conditions as in the code.


--
Sent from my Android tablet with K-9 Mail. Please excuse my swyping.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to