Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-04 Thread David Thomas
On Sun, Dec 30, 2012 at 1:27 PM, Brandon Allbery allber...@gmail.comwrote: [T]he Monad m = in the signature really means hey, compiler, pass me the appropriate implementation of Monad so I can figure out what I'm doing with this type m. It's not a built in table, it's a hidden parameter.

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-04 Thread Kim-Ee Yeoh
On Fri, Jan 4, 2013 at 7:27 PM, David Thomas davidleotho...@gmail.comwrote: Well, hidden - it *is* right there in the type signature still, it just doesn't *look* like an argument. If you squint hard enough, (=) looks like (-). Or maybe the other way round. Whatever. :) It also might be

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-04 Thread Colin Adams
There have been lots of proposals to fix the CATCALL problems in recent years. None have been implemented (at least in ISE/GEC compilers. And tecomp has been abandonded by its author - he is now writing a series of blogs about a vapourware product called Modern Eiffel). I don't find the CATCALL

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-03 Thread Alberto G. Corona
Anyway, Type checking is essentially an application of set theory : (I did no search in te literature for this, It is just my perception). When I say (+) :: Num a = a - a - a . I mean that (+) takes two elements of the set of Num typeclass and return another. This is in principle a weak

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-03 Thread Timon Gehr
On 01/03/2013 10:56 AM, Alberto G. Corona wrote: Anyway, Type checking is essentially an application of set theory : (I did no search in te literature for this, It is just my perception). Not exactly. Type theory is not an application of set theory, it is an alternative to set theory. When

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-03 Thread Timon Gehr
On 01/02/2013 11:19 PM, MigMit wrote: On Jan 3, 2013, at 2:09 AM, Gershom Bazerman gersh...@gmail.com wrote: On 1/2/13 4:29 PM, MigMit wrote: BTW. Why you think that Eiffel type system is unsafe? Well, if I remember correctly, if you call some method of a certain object, and this call

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread MigMit
On Jan 2, 2013, at 2:26 AM, Bob Hutchison hutch-li...@recursive.ca wrote: On 2013-01-01, at 3:47 PM, MigMit miguelim...@yandex.ru wrote: 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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread MigMit
On Jan 2, 2013, at 8:44 AM, Никитин Лев leon.v.niki...@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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread MigMit
On Jan 2, 2013, at 10:52 AM, Mike Meyer m...@mired.org wrote: [Context destroyed by top posting.] MigMit miguelim...@yandex.ru wrote: 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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Mike Meyer
On Wed, 2 Jan 2013 13:48:07 +0400 MigMit miguelim...@yandex.ru wrote: On Jan 2, 2013, at 10:52 AM, Mike Meyer m...@mired.org wrote: MigMit miguelim...@yandex.ru wrote: But really, Design by Contract — a theory? It certainly is a useful approach, but it doesn't seem to be a theory, not until

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Никитин Лев
 Well, we can say "concepts" in place of "theory".  And I'm comparing Eiffel with other OOP lang, not with some langs based on a solid math theory (lambda calcules for FP langs, for example). ok? DbC is not the same as "assert macros". First, it has a lang semantic. There is an interesting

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Никитин Лев
Opps... I forgot about Eiffel agents! PS. After participationing in this discussion I'm  tempting to reread Meyer's book after 10 years interval, to have a detailed look at the eiffel from the FP position. When I read this book first I know nothing about FP.  

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Bob Hutchison
On 2013-01-02, at 4:41 AM, MigMit miguelim...@yandex.ru wrote: On Jan 2, 2013, at 2:26 AM, Bob Hutchison hutch-li...@recursive.ca wrote: On 2013-01-01, at 3:47 PM, MigMit miguelim...@yandex.ru wrote: Well, probably one of the reasons is that I've learned Eiffel later than Haskell.

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Bob Hutchison
On 2013-01-02, at 7:56 AM, Bob Hutchison hutch-li...@recursive.ca wrote: You should read OOSC2. You'll find that this is completely consistent with it. Don't forget that the 'C' in OOSC2 is 'contraction'. 'Construction' of course… the automated spell checker is not my friend :-(

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Emanuel Koczwara
Hi, First, I see (posts on this mailing list) that OO ideas are well known in functional community :) So my questions for you all are: * Is it really worthwhile for me to learn OO-programming? Learn or not to learn? I would say: yes! There is whole new universe to discover: UML,

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Bob Hutchison
On 2013-01-02, at 1:52 AM, Mike Meyer m...@mired.org wrote: [Context destroyed by top posting.] MigMit miguelim...@yandex.ru wrote: 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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread MigMit
On Jan 2, 2013, at 4:24 PM, Никитин Лев leon.v.niki...@pravmail.ru wrote: Well, we can say concepts in place of theory. And I'm comparing Eiffel with other OOP lang, not with some langs based on a solid math theory (lambda calcules for FP langs, for example). ok? I agree that there are

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread MigMit
2) prepost conditions and class invariants have defined behaviour in cases of inheritance, even/especially multiple inheritance. They are combined non-trivially in subclasses. Without this I don't think you have DbC. Yes, I forgot about that. Thanks. Feel free to enlighten me about these

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread Gershom Bazerman
On 1/2/13 4:29 PM, MigMit wrote: BTW. Why you think that Eiffel type system is unsafe? Well, if I remember correctly, if you call some method of a certain object, and this call compiles, you can't be certain that this object actually has this method. Could be that this object belongs to

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-02 Thread MigMit
On Jan 3, 2013, at 2:09 AM, Gershom Bazerman gersh...@gmail.com wrote: On 1/2/13 4:29 PM, MigMit wrote: BTW. Why you think that Eiffel type system is unsafe? Well, if I remember correctly, if you call some method of a certain object, and this call compiles, you can't be certain that this

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread Bob Hutchison
On 2012-12-31, at 4:26 PM, Rico Moorman rico.moor...@gmail.com wrote: Hello Bob and Mike, Reading a little within the suggested book I came across the following statement. We should first examine the merits and limitations of the traditional approach: using functions as a basis for

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread Никитин Лев
Eiffel, for my opinion, is a best OOP language. Meyer use a theoretical approach as it is possible in OOP. 01.01.2013, 23:56, "Bob Hutchison" hutch-li...@recursive.ca:On 2012-12-31, at 4:26 PM, Rico Moorman rico.moor...@gmail.com wrote:Hello Bob and Mike, Reading a little within the suggested book

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread Mike Meyer
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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread MigMit
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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread Bob Hutchison
On 2013-01-01, at 3:47 PM, MigMit miguelim...@yandex.ru wrote: 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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread wren ng thornton
On 12/31/12 4:26 PM, Rico Moorman wrote: Hello Bob and Mike, Reading a little within the suggested book I came across the following statement. We should first examine the merits and limitations of the traditional approach: using functions as a basis for the architecture of software systems.

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread Никитин Лев
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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2013-01-01 Thread Mike Meyer
[Context destroyed by top posting.] MigMit miguelim...@yandex.ru wrote: 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

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-31 Thread Heinrich Apfelmus
Daniel Díaz Casanueva wrote: Hello, Haskell Cafe folks. My programming life (which has started about 3-4 years ago) has always been in the functional paradigm. Eventually, I had to program in Pascal and Prolog for my University (where I learned Haskell). I also did some PHP, SQL and HTML while

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-31 Thread Strake
Disclaimer: My own experience with OO is limited. On 30/12/2012, Daniel Díaz Casanueva dhelta.d...@gmail.com wrote: My programming life (which has started about 3-4 years ago) has always been in the functional paradigm. Eventually, I had to program in Pascal and Prolog for my University (where

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-31 Thread Mike Meyer
On Mon, Dec 31, 2012 at 7:46 AM, Strake strake...@gmail.com wrote: Disclaimer: My own experience with OO is limited. Mine isn't quite so much... On 30/12/2012, Daniel Díaz Casanueva dhelta.d...@gmail.com wrote: My programming life (which has started about 3-4 years ago) has always been in

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-31 Thread Bob Hutchison
On 2012-12-30, at 2:58 PM, Daniel Díaz Casanueva dhelta.d...@gmail.com wrote: Well, my curiosity is bringing me to learn a new general purpose programming language. Haskellers are frequently comparing Object-Oriented languages with Haskell itself, but I have never programmed in any

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-31 Thread Alexander Solla
Since you have done a significant amount of work with Haskell, I must presume you have a solid understanding of monads. If so, I can suggest reading http://stackoverflow.com/questions/2704652/monad-in-plain-english-for-the-oop-programmer-with-no-fp-background/13656209#13656209 It is for the OO

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-31 Thread Rico Moorman
Hello Bob and Mike, Reading a little within the suggested book I came across the following statement. We should first examine the merits and limitations of the traditional approach: using functions as a basis for the architecture of software systems. This will not only lead us to appreciate

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-31 Thread Brandon Allbery
On Mon, Dec 31, 2012 at 4:26 PM, Rico Moorman rico.moor...@gmail.comwrote: We should first examine the merits and limitations of the traditional approach: using functions as a basis for the architecture of software systems. This will not only lead us to Because you both have more

[Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Daniel Díaz Casanueva
Hello, Haskell Cafe folks. My programming life (which has started about 3-4 years ago) has always been in the functional paradigm. Eventually, I had to program in Pascal and Prolog for my University (where I learned Haskell). I also did some PHP, SQL and HTML while building some web sites,

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Jay Sulzberger
On Sun, 30 Dec 2012, Daniel D??az Casanueva dhelta.d...@gmail.com wrote: Hello, Haskell Cafe folks. My programming life (which has started about 3-4 years ago) has always been in the functional paradigm. Eventually, I had to program in Pascal and Prolog for my University (where I learned

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread MigMit
Well, functional programmer is a relatively broad term. If you're coming from academia, so that for you Haskell is some sort of lambda-calculus, spoiled by practical aspects, then I'd suggest Luca Cardelli's book Theory of Objects. Also, as Daniel told you already, don't start from C++, it

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread MigMit
Sorry for the stupid mistake — when I said Daniel in the previous message, I've meant Jay. Отправлено с iPad 30.12.2012, в 23:58, Daniel Díaz Casanueva dhelta.d...@gmail.com написал(а): Hello, Haskell Cafe folks. My programming life (which has started about 3-4 years ago) has always been

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Eli Frey
I think it is always a good idea to learn languages that make your-favorite-paradigm hard. There are a lot of Aha moments to be had from forcing your brain to come at a problem from another angle. As for things to watch out for. There is a very strong duality between TypeClasses and existential

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Brandon Allbery
On Sun, Dec 30, 2012 at 3:45 PM, Eli Frey eli.lee.f...@gmail.com wrote: mconcat :: Monad m = [m] - m mconcat = foldl mappend [] We can think of `mconcat` having a little lookup table inside of itself, and whenever we pass it a concrete `[m]`, `mappend` gets looked up and we get the

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Rustom Mody
On Mon, Dec 31, 2012 at 1:28 AM, Daniel Díaz Casanueva dhelta.d...@gmail.com wrote: Hello, Haskell Cafe folks. My programming life (which has started about 3-4 years ago) has always been in the functional paradigm. Eventually, I had to program in Pascal and Prolog for my University (where I

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Rustom Mody
On Mon, Dec 31, 2012 at 7:30 AM, Rustom Mody rustompm...@gmail.com wrote: Ive been collecting material regarding (confusions around) OO. Its far from complete but the references may be useful, eg - the Rees list on the different things that OO means to different people - the fundamental

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Jay Sulzberger
On Mon, 31 Dec 2012, MigMit miguelim...@yandex.ru wrote: Well, functional programmer is a relatively broad term. If you're coming from academia, so that for you Haskell is some sort of lambda-calculus, spoiled by practical aspects, then I'd suggest Luca Cardelli's book Theory of Objects.

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Eric Rasmussen
Since no one's mentioned it yet, you might consider learning Scala. A good starting point is http://www.artima.com/pins1ed/index.html (note that the free edition is outdated but still a good introduction). Scala has a mix of functional and OO programming styles, though (having come first from

Re: [Haskell-cafe] Object Oriented programming for Functional Programmers

2012-12-30 Thread Kim-Ee Yeoh
There's OOHaskell, which you can google for. The name's such a nice example of an aptronym: it's the Overlooked Object-oriented Haskell. -- Kim-Ee On Mon, Dec 31, 2012 at 2:58 AM, Daniel Díaz Casanueva dhelta.d...@gmail.com wrote: Hello, Haskell Cafe folks. My programming life (which has