[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