Re: [Haskell-cafe] On the verge of ... giving up! [OT]
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]
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]
[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]
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]
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]
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]
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]
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