[Haskell-cafe] Object Oriented programming for Functional Programmers
miguelimo38 at yandex.ru
Wed Jan 2 10:43:55 CET 2013
On Jan 2, 2013, at 8:44 AM, Никитин Лев <leon.v.nikitin at pravmail.ru> wrote:
> I said "theoratical", but not "mathematical" or "a scientific" theory.
Than what kind of theory did you mean?
> <image1.gif> Meyer have built a quite coherent construction in comparison with other OOP langs.
More than Smalltalk, for example?
> 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" <mwm at mired.org>:
> MigMit <miguelimo38 at yandex.ru> wrote:
> On Jan 1, 2013, at 10:23 PM, Никитин Лев <leon.v.nikitin at pravmail.ru>
> 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 at haskell.org
More information about the Haskell-Cafe