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

2012-12-30 Thread Jay Sulzberger
On Sun, 30 Dec 2012, 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

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 r

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 написал(а): > Hello, Haskell Cafe folks. > > My programming life (which has started about 3-4 years ago) has always been > in the functi

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 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 polymorphism in OO.

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

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

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

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

2012-12-30 Thread Jay Sulzberger
On Mon, 31 Dec 2012, MigMit 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". Also, as Daniel told

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 Hask

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 h

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 b

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 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 I learned Haskell)

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 wrote: > Disclaimer: My own experience with OO is limited. Mine isn't quite so much... > On 30/12/2012, Daniel Díaz Casanueva wrote: >> My programming life (which has started about 3-4 years ago) has always been >> in the functional paradigm. Eventually,

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 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 OO-language! (perhaps this

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

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 wrote: > 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 experience with 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 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

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" :On 2012-12-31, at 4:26 PM, Rico Moorman wrote:Hello Bob and Mike, Reading a little within the suggested book I came across the foll

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

2013-01-01 Thread MigMit
On Jan 1, 2013, at 10:23 PM, Никитин Лев 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 on

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

2013-01-01 Thread Mike Meyer
MigMit wrote: >On Jan 1, 2013, at 10:23 PM, Никитин Лев >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

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

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

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 invar

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

2013-01-01 Thread Mike Meyer
[Context destroyed by top posting.] MigMit 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 direction. You just sta

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

2013-01-02 Thread MigMit
On Jan 2, 2013, at 2:26 AM, Bob Hutchison wrote: > > On 2013-01-01, at 3:47 PM, MigMit 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 se

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

2013-01-02 Thread MigMit
On Jan 2, 2013, at 8:44 AM, Никитин Лев wrote: > I said "theoratical", but not "mathematical" or "a scientific" theory. Than what kind of theory did you mean? > Meyer have built a quite coherent construction in comparison > with other OOP langs. More than Smalltalk, for example? > BTW, wh

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

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

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 wrote: > On Jan 2, 2013, at 10:52 AM, Mike Meyer wrote: > > MigMit 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

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 graduate

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 wrote: > > On Jan 2, 2013, at 2:26 AM, Bob Hutchison wrote: > >> >> On 2013-01-01, at 3:47 PM, MigMit wrote: >> >>> Well, probably one of the reasons is that I've learned Eiffel later than >>> Haskell. >>> >>> But really, "Design by Contract" — a theory?

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

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 wrote: > > > [Context destroyed by top posting.] > MigMit 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 do

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

2013-01-02 Thread MigMit
On Jan 2, 2013, at 4:24 PM, Никитин Лев 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 certain concepts,

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

2013-01-02 Thread MigMit
> 2) pre&post 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 the

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 some

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

2013-01-02 Thread MigMit
On Jan 3, 2013, at 2:09 AM, Gershom Bazerman 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 object ac

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 restri

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

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 wrote: > > [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. > > Well, "hid

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 wrote: > 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 optimized away in s

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