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 <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".
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.d...@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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe