Well, probably one of the reasons is that I've learned Eiffel later than 
Haskell.

But really, "Design by Contract" — a theory? It certainly is a useful approach, 
but it doesn't seem to be a theory, not until we can actually prove something 
about it, and Eiffel doesn't seem to offer anything in this direction.

And by "hack" I meant not the presence of pre/postconditions, but the fact that 
they don't affect anything else. Strip all of them away, and you'll have the 
program which is, essentially, the same (and, in fact, pre/postconditions are 
supposed to be removed in the final version of the program). Compare this to 
Haskell types, for example: an untyped version of Haskell won't be able to 
choose between two class instances, so, that would be an entirely different 
language.

On Jan 1, 2013, at 11:41 PM, Mike Meyer <m...@mired.org> wrote:

> 
> 
> 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