Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-15 Thread jerzy . karczmarczuk
Richard A. O'Keefe writes: 


(2) The mathematical background of Haskell is extremely important
for implementations.  Some important data structures and
techniques are practical in large part because of the kinds of
optimisations that are only straightforward in a language that
has such foundations. 


(3) Beginners do not need to understand all the mathematics behind
Haskell to use it.



(5) Precisely because it seeks generality, category theory seems
difficult to concrete thinkers.  And books on category theory
tend to be extremely fast-paced, so ideas which are not in  themselves
particularly esoteric (which may in fact be eminently practical)
tend to be presented in a way which people trying to study by
themselves have trouble with.  So people can be scared off by
what _ought_ to be a big help to them.


Yes.
Yes.
And when *additionally* people whose experience/competence is rather weak,
spread the fear, hatred and carelessness, I have the impression that this
is something similar to a guy in primary school (and this list *is* a kind
of school) who bothers the pupils with such discoveries as the differential
calculus is a swearword, just to annoy you, you will =never= need that, I
live happily without. 


There IS a problem. The fast pace of Category theory is a bit incomplete
diagnosis. For me, what was most annoying was an awful trap. Everything
began slowly, and nicely. And authors are kind, helpful, and understanding.
And they promise that it is *for me*. Or for Brandon S. Allbery KF8NH... 


(BTW, Why Andrew Bromage says that the book of Lawvere is pricey? Cambridge
Univ. Press sells the Conceptual Mathematics for 33 pounds. This is not
so much...) 

Check some other titles, *free*, please: 


*Categories for =working comp. sci'ists=, AspertiLungo.
*Categorical Primer by Chris Hillman (he - apparently - still revises the
 next version...)
*Gentle introduction to Cat. Th., a calculational approach by Fokkinga.
*Basic Cat., by Jaap Van Osten, a course for undergraduates, which begins
 by saying that for the Author the basic experience counts more than
 theory. 

(And, of course, Barr and Wells...) 


Now, you start reading, it goes smoothly, you understand functors, natural
transformations, retracts, initial objects, etc. And then the slope
begins to increase exponentially, you hit a wall...
It seems that people who finally decided to write books, tutorials, etc.
are so conditioned, that they cannot put themselves into a skin of a true
profan, even people so perfect, so didactically skilled as Barr and Wells. 


But as says the quotation from a science-fiction story /Born among the
dead/: you must elevate yourself to their level, since you cannot force
them to descend to yours... 


Still, monads, Kleisli triples, etc. belong to the *EASY* part!!
===
So, if some people really *want* to learn something, some time devote they
shall. But, there are some shortcuts as well, although nothing complete. 


http://en.wikibooks.org/wiki/Haskell/Category_theory
 is a nice introduction! 


The paper on Bananas, lenses and barbed wire (Meijer, Fokkinga, Paterson)
is almost a compulsory reference. 


The craziness of generalization/universality is very well exposed in the
compilation of Fritz Ruehr, which can be read by *ANYBODY*. There is no
hard science inside, just examples!
http://www.willamette.edu/~fruehr/haskell/evolution.html 


Once upon a time, Eric Meijer and Luc Duponcheel wrote a paper entitled
On the expressive power of constructor classes, where they proposed
a new categorical prelude for Gofer. It is an extremely inspiring paper!
(Citeseer shall have it.) 


Some of ideas therein, in a different setting, can be easily read in the
Varmo Vene thesis on coinduction, and other horrible stuff. 


And, of course, there is a paper by Conor McBride and Ross Paterson on
applicative programming with effects, with an interesting discussion
*around* monads. 

http://www.soi.city.ac.uk/~ross/papers/Applicative.pdf 


...
Ugh. I am afraid I began an infinite, corecursive strem. Perhaps it is
time to break it. 

Jerzy Karczmarczuk 


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-15 Thread Brandon S. Allbery KF8NH


On Oct 15, 2007, at 7:01 , Yitzchak Gale wrote:


But I think we are still at the stage where a programmer
who wants practical results is better off starting out
by learning how to use monads in practice, not by
delving into category theory.


No argument from a Haskell standpoint.  Still, when people here or on  
#haskell start tossing CT around, it'd be nice to have more than a  
very vague and probably incorrect notion of what they're saying.  :)


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon universityKF8NH


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-14 Thread Roberto Zunino
[EMAIL PROTECTED] wrote:
 I will be impolite.

There was no need to.

Andrew Coppin wrote:
 OK. I get the message. I'm unsubscribing now...

There was no need to.

Please, let's keep haskell-cafe a friendly place, as it's always been.

When someone posts inaccurate (or even wrong) facts:
   Attack ideas. Do not attack people.

(Please!)

Regards,
Zun.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-14 Thread jerzy . karczmarczuk
Roberto Zunino writes: 


[EMAIL PROTECTED] wrote:

...

Andrew Coppin wrote:

OK. I get the message. I'm unsubscribing now...


There was no need to. 


Please, let's keep haskell-cafe a friendly place, as it's always been.


Yes.
I would add, friendly and USEFUL, as it's always been. It was not my
intention of throwing away, anybody, and I didn't. I had no right to do
such thing either. I just asked A. Coppin to think twice before submitting
dubious statements, didn't I? I believe that it would be useful for the
list if he stayed, and *asked questions*. My impoliteness was quite
restrained... 


But, when J. Vimal threateneds us to throw away Haskell, complained about
monads, and most people confirmed that the underlying theory is difficult,
ugly, and useless, I began to read those postings with attention, since
I disagree with spreading such atmosphere. And A.C. additionally wrote that
all this theory has nothing to do with Haskell, and submitted three more
postings, one more dubious than the other, I found that a warning seems
suitable, not for him, but for his readers! 


Mathematics is beautiful and useful. The commutativity of some categorical
diagrams can be translated into the optimization of Haskell constructs,
say, showing that there is a canonical isomorphism between 

(map f) . (map g)   and:   map (f . g) 


etc. So, why dump the theory away, which suggests additionally that the
conceptors of Haskell are irresponsible dreamers, living on some crystal
mountain?... The language is not trivial to learn, that's it. If somebody
feels discouraged, my own students often are, then the recipe is simple:
ask CONCRETE questions, get CONCRETE answer. THEN generalize. 


But if some people offer general answers, they must be based on a real
competence and experience, otherwise they easily become harmful. 

== 


David48 points out that if a list returns the reader to the docs which
he has already seen, and which is poor, then it doesn't work at all. OK,
then, once more, don't say I cannot understand monads, or rewriting, or
whatever, but say plainly: I read XYZ in the ABC tutorial, and the example
PQR remains too difficult. And say WHAT doesn't work. 


Go ahead, criticize *concrete* documentation, don't say that docs are lousy!
Almost all Haskell documentation has been written by people who *beg*
constantly for comments, for criticism; let's help them instead of
shouting at them. 


Of course, the repeated, ever and ever again questions mean that one day
it will be absolutely necessary to make a true FABQ, proposed a few times,
and still in statu nascendi... 




Jerzy Karczmarczuk 



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-14 Thread Emre Sahin
 jerzy == jerzy karczmarczuk [EMAIL PROTECTED] writes:

[...]

jerzy But, when J. Vimal threateneds us to throw away Haskell,
jerzy complained about monads, and most people confirmed that the
jerzy underlying theory is difficult, ugly, and useless, I began
jerzy to read those postings with attention, since I disagree
jerzy with spreading such atmosphere. And A.C. additionally wrote
jerzy that all this theory has nothing to do with Haskell, and
jerzy submitted three more postings, one more dubious than the
jerzy other, I found that a warning seems suitable, not for him,
jerzy but for his readers!


I'm an (almost) complete newbie to FP and for a beginner I don't see some
right in myself to criticize theory being hard. I'm a CS guy
without any background in Category Theory and related ideas, but when
I see something elegant, I think I recognize it, and monads seem to be
much elegant way of doing things than usual I/O. (And because of
this elegance I couldn't persuade myself to learn OCam'l etc. first)

Currently I can't say I understand monads, but as Von Neumann put it,
Young man, in mathematics you don't understand things. You just get
used to them. ;)


jerzy Mathematics is beautiful and useful. The commutativity of
jerzy some categorical diagrams can be translated into the
jerzy optimization of Haskell constructs, say, showing that there
jerzy is a canonical isomorphism between

jerzy (map f) . (map g) and: map (f . g)

jerzy etc. So, why dump the theory away, which suggests
jerzy additionally that the conceptors of Haskell are
jerzy irresponsible dreamers, living on some crystal
jerzy mountain?... The language is not trivial to learn, that's
jerzy it. If somebody feels discouraged, my own students often
jerzy are, then the recipe is simple: ask CONCRETE questions, get
jerzy CONCRETE answer. THEN generalize.

I asked Paul Hudak a few days ago about an exercise in his Haskell SOE
book and I got more than I expected. (Prior to that, I asked in
#haskell and also got more than I expected, though not understood all
of them ;))


jerzy But if some people offer general answers, they must be
jerzy based on a real competence and experience, otherwise they
jerzy easily become harmful.

Being friendly is one thing, but being sensitive about the information
is much more valuable IMO. I thank you for deciding to post this disclaimer
instead of overlooking, which is perhaps the easier way.

jerzy ==

jerzy David48 points out that if a list returns the reader to
jerzy the docs which he has already seen, and which is poor, then
jerzy it doesn't work at all. OK, then, once more, don't say I
jerzy cannot understand monads, or rewriting, or whatever, but
jerzy say plainly: I read XYZ in the ABC tutorial, and the
jerzy example PQR remains too difficult. And say WHAT doesn't
jerzy work.

jerzy Go ahead, criticize *concrete* documentation, don't say
jerzy that docs are lousy!  Almost all Haskell documentation has
jerzy been written by people who *beg* constantly for comments,
jerzy for criticism; let's help them instead of shouting at them.

jerzy Of course, the repeated, ever and ever again questions mean
jerzy that one day it will be absolutely necessary to make a true
jerzy FABQ, proposed a few times, and still in statu nascendi...


I'm 27 years old and somehow programming for ~12 years in almost all
major imperative languages. (I have some Scheme  Lisp experience
also.) As another poster mentioned, this language gave me long
forgotten excitement of programming again. Though I feel myself too
lazy to cope with problems (and obstacles in learning and changing
mindset) sometimes, and I usually don't understand topics in this
mailing list most of the time, I don't attribute these to difficulty
of the language. This is my laziness, not Haskell's.

If I would like to program in more understandable ways, I know there
are lots and lots of other languages that I can use, but trying to
come up with a solution and seeing how succint it can be amazes me in
this language and I don't know if I can be a successful Haskell
programmer (and write those haikus you write here and there), but at
least I'll try to be and if I can't, this will be my laziness, not
Haskell's.

Thanks and best regards, 

E.




___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-14 Thread Richard A. O'Keefe

On 15 Oct 2007, at 5:41 am, [EMAIL PROTECTED] wrote:
But, when J. Vimal threateneds us to throw away Haskell,  
complained about
monads, and most people confirmed that the underlying theory is  
difficult,
ugly, and useless, I began to read those postings with attention,  
since
I disagree with spreading such atmosphere. And A.C. additionally  
wrote that
all this theory has nothing to do with Haskell, and submitted three  
more
postings, one more dubious than the other, I found that a warning  
seems

suitable, not for him, but for his readers!


I hope we can agree on several things here:

(1) The mathematical background of Haskell is one of the things that
makes Haskell a beautiful and useful programming language.  It
may even be one of the most important factors.

(2) The mathematical background of Haskell is extremely important
for implementations.  Some important data structures and
techniques are practical in large part because of the kinds of
optimisations that are only straightforward in a language that
has such foundations.

(3) Beginners do not need to understand all the mathematics behind
Haskell to use it.

I really really hope we can agree on the next two points:

(4) It is not unfair to describe Category Theory as The mathematical
study of sound analogies between mathematical structures; it leads
to concepts of great generality and power, and encourages a  
consistent

use of terminology which makes it easier to transfer ideas and
techniques from one area of mathematics to another.  It's about
*consistently* pushing generality rather hard.

(5) Precisely because it seeks generality, category theory seems
difficult to concrete thinkers.  And books on category theory
tend to be extremely fast-paced, so ideas which are not in  
themselves

particularly esoteric (which may in fact be eminently practical)
tend to be presented in a way which people trying to study by
themselves have trouble with.  So people can be scared off by
what _ought_ to be a big help to them.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-14 Thread ajb

G'day all.

Quoting Richard A. O'Keefe [EMAIL PROTECTED]:


(5) Precisely because it seeks generality, category theory seems
difficult to concrete thinkers.  And books on category theory
tend to be extremely fast-paced, so ideas which are not in themselves
particularly esoteric (which may in fact be eminently practical)
tend to be presented in a way which people trying to study by
themselves have trouble with.  So people can be scared off by
what _ought_ to be a big help to them.


I agree, but I don't think it needs to be this way.

Books on category theory tend to be written for mathematicians or
computer scientists who already grok the things that need generalising,
even understand in a general sense how they're similar, and really just
need to learn the language to express what they already know.

In one respect, this makes sense (you learn the concrete, then you learn
how to abstract away the details), but it also raises the barrier to the
point where in learning mathematics, you're really learning history.

Mathematics isn't immune from this, of course.  Many scientists in
disparate fields have complained that textbooks for their fields are
really history books in disguise, and the material is more confused and
tedious than it needs to be as a result.

Example complaints:

http://insti.physics.sunysb.edu/~siegel/history.html
http://jchemed.chem.wisc.edu/journal/issues/1998/jul/abs817.html

Cheers,
Andrew Bromage
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] On the verge of ... giving up! [OT]

2007-10-14 Thread ajb

G'day all.

Quoting Brandon S. Allbery KF8NH [EMAIL PROTECTED]:


I would really like to see category theory for the working
*non*mathematician.


It's pricey, but your local university library probably has it:

http://www.cambridge.org/catalogue/catalogue.asp?isbn=9780521478175

Cheers,
Andrew Bromage
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe