[Haskell-cafe] Added CLOS reference, was: Re: Object Oriented programming for Functional Programmers

Jay Sulzberger jays at panix.com
Mon Dec 31 03:21:22 CET 2012


This page looks to be a good introduction to CLOS:

   http://www.gigamonkeys.com/book/object-reorientation-generic-functions.html

oo--JS.


On Sun, 30 Dec 2012, Jay Sulzberger wrote:

>
>
> On Mon, 31 Dec 2012, MigMit <miguelimo38 at 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".
>> 
>> Also, as Daniel told you already, don't start from C++, it
>
> Name typo, should be "Jay", noted.
>
>> really has very little to do with OOP. It's primary merit is a
>> very powerful system of macros (called "templates" in C++
>> world), not objects. If you want something mainstream, Java
>> would be a good choice, and C# even better one (although it
>> would be more convenient for you if you use Windows).
>> 
>> Or you can try OCaml, which is functional enough for you not to
>> feel lost, and object-oriented as well.
>> 
>> Отправлено с iPad
>
> For systems to look at I recommend Simula, some early version,
> Smalltalk, Common Lisp, and Erlang.  My guess is that Haskell's
> type classes are a mechanism for creating something like Common
> Lisp's "generic functions".  I know too little about Haskell to
> say whether type classes immediately give you "single dispatch"
> things, or "multiple dispatch" things.
>
> These two Wikipedia articles are useful, I think:
>
>  http://en.wikipedia.org/wiki/Generic_function
>  [page was last modified on 15 November 2012 at 03:50]
>
>  http://en.wikipedia.org/wiki/Common_Lisp_Object_System
>  [page was last modified on 15 December 2012 at 23:57]
>
> The Diamond Problem and its cousin(s) are worth looking at:
>
>  http://en.wikipedia.org/wiki/Diamond_problem#The_diamond_problem
>  [page was last modified on 27 December 2012 at 04:53]
>
>  http://www.ibm.com/developerworks/java/library/j-clojure-protocols/
>
>  http://stackoverflow.com/questions/4509782/simple-explanation-of-clojure-protocols
>
> oo--JS.
>
>
>
> 30.12.2012, в 23:58, Daniel Díaz Casanueva <dhelta.diaz at gmail.com> 
> написал(а):
>
>> 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, languages that I taught to 
>> myself. I have never had any contact with JavaScript though. 
>> But all these languages were in my life as secondary languages, being 
>> Haskell my predominant preference. Haskell was the first programming 
>> language I learned, and subsequent languages never seemed so natural and 
>> worthwhile to me. In fact, every time I had to use another language, I 
>> created a combinator library in Haskell to write it (this was the reason 
>> that brought me to start with the HaTeX library). Of course, this practice 
>> wasn't always the best approach.
>> 
>> But, why I am writing this to you, haskellers?
>> 
>> 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 is an uncommon case) I thought it could be good 
>> to me (as a programmer) to learn C/C++. Many interesting courses (most of 
>> them) use these languages and I feel like limited for being a Haskell 
>> programmer. It looks like I have to learn imperative programming (with side 
>> effects all over around) in some point of my programming life.
>> 
>> So my questions for you all are:
>> 
>> * Is it really worthwhile for me to learn OO-programming?
>> 
>> * If so, where should I start? There are plenty of "functional programming 
>> for OO programmers" but I have never seen "OO programming for functional 
>> programmers".
>> 
>> * Is it true that learning other programming languages leads to a better 
>> use of your favorite programming language?
>> 
>> * Will I learn new programming strategies that I can use back in the 
>> Haskell world?
>> 
>> Thanks in advance for your kind responses,
>> Daniel Díaz.
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>



More information about the Haskell-Cafe mailing list