Re: [Haskell-cafe] Re: [Haskell] Re: 20 years ago
On 28/07/2009, at 12:59 PM, Richard O'Keefe wrote: On Jul 28, 2009, at 2:25 PM, Peter Gammie wrote: But Richard (or am I arguing with Kay?) - monads don't interact. You're arguing with Alan Kay here: the reference to Leibniz was his. The key link here is (Wikipedia): " Leibniz allows just one type of element in the build of the universe" (sic.). In precisely the same way, Alan Kay allowed just one kind of 'thing' in his computational universe: object. Just as in the lambda calculus, everything is a function and in set theory everything is a set, so in Smalltalk _everything_ (including classes and the number 42 and anonymous functions) is an object. Yea gods, that's the thinnest use of monads ever. The concept that lead to idealism, away from mind-body dualism is reduced to ... monism. Awesome. http://en.wikipedia.org/wiki/Monism He could've cited just about any of the major philosophies for that - and I'm not going to talk about religions. How are you going to relate Leibniz's monads and Haskell's? I can't find my way, neatly or otherwise. :-P Verbally. Sure, but I was hoping you'd explain why Wadler uses the pineal gland allusions in his COMPREHENDING MONADS (capitals denoting paper title). That structure was *exactly* what Leibniz was doing his best to avoid in his monadology. I think Wadler was making a joke. cheers peter ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: [Haskell] Re: 20 years ago
On Jul 28, 2009, at 2:25 PM, Peter Gammie wrote: But Richard (or am I arguing with Kay?) - monads don't interact. You're arguing with Alan Kay here: the reference to Leibniz was his. The key link here is (Wikipedia): " Leibniz allows just one type of element in the build of the universe" (sic.). In precisely the same way, Alan Kay allowed just one kind of 'thing' in his computational universe: object. Just as in the lambda calculus, everything is a function and in set theory everything is a set, so in Smalltalk _everything_ (including classes and the number 42 and anonymous functions) is an object. How are you going to relate Leibniz's monads and Haskell's? I can't find my way, neatly or otherwise. :-P Verbally. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: [Haskell] Re: 20 years ago
On 28/07/2009, at 11:35 AM, Richard O'Keefe wrote: It's true that the abstract speaks of "a more biological scheme of protected universal cells interacting only through messages that could mimic any desired behavior", but that's basically _it_ for biology, if we are to believe Kay, and even then, "its semantics are a bit like having thousands of and thousands of comptuers all hooked together by a very fast network" and "Philosophically, Smalltalk's objects have much in common with the monads of Leibnitz" (bringing us neatly back to Haskell (:-)). But Richard (or am I arguing with Kay?) - monads don't interact. http://en.wikipedia.org/wiki/Monadology I'd take that to be their defining characteristic - Leibniz is trying to overcome Cartesian mind/body dualism here. Perhaps Smalltalk objects are regulated by pre-established harmonies... and have no need to talk to each other. Or perhaps that is the part that lies outside Kay's identification, in which case one might say the ontologies of monads and Smalltalk have superficial similarities but the deeper structure diverges significantly. (I think my point is well-defended by the above wikipedia article - the OO insights are thin on the ground, and are at least quite tangled.) How are you going to relate Leibniz's monads and Haskell's? I can't find my way, neatly or otherwise. :-P Ah, I see, Haskell has an interface to the best of all possible worlds... :-) cheers peter -- http://peteg.org/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: [Haskell] Re: 20 years ago
On Jul 27, 2009, at 6:30 PM, Benjamin L.Russell wrote: Incidentally, just for the record, in response to my forwarding your claim, Alan Kay, the inventor of Smalltalk, just refuted your refutation [1] (see http://lists.squeakfoundation.org/pipermail/beginners/2009-July/006331.html) ; _viz._: If you read carefully what he wrote there, it doesn't actually contradict what I said. (For what it's worth, I _have_ read a good deal of Alan Kay's writings.) Molecular biology may very well have been an influence on >Alan Kay<, but there are no traces of it in >Smalltalk<. The concepts of >Smalltalk< have their roots in Lisp, including the original version using nil as false, and the meta-circular interpreter. Sketchpad and Simula also have no trace of biology in them. As for the claim that Smalltalk had its roots in Lisp, this is not my opinion. It's straight from the horse's mouth. Visit http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_IV.html whose title is "The first real Smalltalk", and you will read this paragraph: "I had orignally made the boast because McCarthy's self-describing LISP interpreter was written in itself. It was about "a page", and as far as power goes, LISP was the whole nine-yards for functional languages. I was quite sure I could do the same for object-oriented languages plus be able to do a resonable syntax for the code a loa some of the FLEX machine techiques." [Errors in the page.] So clearly Alan Kay _was_ influenced by Lisp, and the initial Smalltalk-72 implementation _was_ influenced by the Lisp meta-circular interpreter. While we're on that page, here are the six core principles: 1. Everything is an object [Where's the biology in that? Rocks are objects.] 2. Objects communicate by sending and receiving messages (in terms of objects) [Where's the biology in that? Sounds more like the telephone system. And when organisms send messages to other organisms, those messages are not themselves organisms, although that might make a neat gimmick for a science fiction story.] 3. Objects have their own memory (in terms of objects) [Many organisms have memory. But their memories are not themselves organisms. Again that might make a nice science fiction gimmick, and Brin's hydrogen breathers in the Uplift series come close. Not in THIS biology though.] 4. Every object is an instance of a class (which must be an object) [Maybe here's the biology? But no, Simula 67 had single-inheritance classes, with never a trace of biology. There's certainly no biology-talk in the Simula Common Base manual that I can find. Again, in THIS biology, a taxon is not itself an organism, so if anything, Smalltalk is contradicting biology.] 5. The class holds the shared behavior for its instances (in the form of objects in a pogram list) [Errors in the page. Where's the biology here? Organisms behave, but their behaviour isn't made of organisms held in another organism. Class as site of shared behaviour is straight Simula (and of course other sources).] 6. To eval a program list, control is passed to the first object and the remainder is treated as its message [Does that look like biology to you?] A PDF of the whole thing is http://www.smalltalk.org/downloads/papers/SmalltalkHistoryHOPL.pdf But how important is that paper anyway? (1) It's by Alan Kay. (2) It's his official history of Smalltalk. (3) It actually says on the second page "I will try to show where most of the influences come from." It's true that the abstract speaks of "a more biological scheme of protected universal cells interacting only through messages that could mimic any desired behavior", but that's basically _it_ for biology, if we are to believe Kay, and even then, "its semantics are a bit like having thousands of and thousands of comptuers all hooked together by a very fast network" and "Philosophically, Smalltalk's objects have much in common with the monads of Leibnitz" (bringing us neatly back to Haskell (:-)). We read "The biggest hit for me while at SAIL in late '69 was to _really understand_ Lisp". By the way, Haskell programmers should really appreciate the anecdote on page 13 about programming odds_evens x = odds x ++ evens x where odds []= [] odds (x:xs)= x : evens xs evens (_:x:xs) = x : evens xs evens _= []. It took him about 5 seconds to do about that way, while it took Allen Newell "30 minutes to not quite solve". At any rate, the paper which is supposed to trace "most of the influences" doesn't link even *one* idea in Smalltalk to biology. The influences are other programming languages, notably Lisp, Simula, and the ever-famous Sketchpad system, philosophy, programming, computer networks, ... As for the "biological" nature of message passing, the paper
Re: [Haskell-cafe] Re: [Haskell] Re: 20 years ago
Richard O'Keefe wrote: On Jul 15, 2009, at 5:25 PM, Benjamin L.Russell wrote: it interesting that you should use the biological term "disease"; according to a post [1] entitled "Re: Re: Smalltalk Data Structures and Algorithms," by K. K. Subramaniam, dated "Mon, 29 Jun 2009 11:25:34 +0530," on the squeak-beginners mailing list (see http://lists.squeakfoundation.org/pipermail/beginners/2009-June/006270.html), Concepts in Squeak [a dialect and implementation of Smalltalk] have their origins in biology rather than in computational math That posting is wrong. Smalltalk's roots are very firmly planted in Lisp, with perhaps a touch of Logo (which also had its roots in Lisp). The classic Smalltalk-76 paper even contains a meta-circular interpreter, which I found reminiscent of the old Lisp one. The "biological" metaphor in Smalltalk is actually a SOCIAL metaphor: sending and receiving messages, and a "social" model of agents with memory exchanging messages naturally leads to anthropomorphisms. Also of note, the social metaphor is also very mathematical. It has its roots in process calculi like the pi-calculus, petri nets, the join-calculus, etc. The "original" OOP metaphor of Agents is also strongly aligned to this process calculus interpretation. (And any anthropologist will defy that sociality has more than a primitive connexion with biological systems. Animal behaviorists may disagree.) -- Live well, ~wren ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: [Haskell] Re: 20 years ago
Richard O'Keefe wrote: On Jul 15, 2009, at 5:25 PM, Benjamin L.Russell wrote: it interesting that you should use the biological term "disease"; according to a post [1] entitled "Re: Re: Smalltalk Data Structures and Algorithms," by K. K. Subramaniam, dated "Mon, 29 Jun 2009 11:25:34 +0530," on the squeak-beginners mailing list (see http://lists.squeakfoundation.org/pipermail/beginners/2009-June/006270.html), Concepts in Squeak [a dialect and implementation of Smalltalk] have their origins in biology rather than in computational math That posting is wrong. Smalltalk's roots are very firmly planted in Lisp, with perhaps a touch of Logo (which also had its roots in Lisp). The classic Smalltalk-76 paper even contains a meta-circular interpreter, which I found reminiscent of the old Lisp one. The "biological" metaphor in Smalltalk is actually a SOCIAL metaphor: sending and receiving messages, and a "social" model of agents with memory exchanging messages naturally leads to anthropomorphisms. Also of note, the social metaphor is also very mathematical. It has its roots in process calculi like the pi-calculus, petri nets, the join-calculus, etc. The "original" OOP metaphor of Agents is also strongly aligned to this process calculus interpretation. (And any anthropologist will defy that sociality has more than a primitive connexion with biological systems. Animal behaviorists may disagree.) -- Live well, ~wren ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: [Haskell] Re: 20 years ago
On Jul 15, 2009, at 5:25 PM, Benjamin L.Russell wrote: it interesting that you should use the biological term "disease"; according to a post [1] entitled "Re: Re: Smalltalk Data Structures and Algorithms," by K. K. Subramaniam, dated "Mon, 29 Jun 2009 11:25:34 +0530," on the squeak-beginners mailing list (see http://lists.squeakfoundation.org/pipermail/beginners/2009-June/006270.html) , Concepts in Squeak [a dialect and implementation of Smalltalk] have their origins in biology rather than in computational math That posting is wrong. Smalltalk's roots are very firmly planted in Lisp, with perhaps a touch of Logo (which also had its roots in Lisp). The classic Smalltalk-76 paper even contains a meta-circular interpreter, which I found reminiscent of the old Lisp one. The "biological" metaphor in Smalltalk is actually a SOCIAL metaphor: sending and receiving messages, and a "social" model of agents with memory exchanging messages naturally leads to anthropomorphisms. The other classic OO language, which inspired C++, which inspired Java, which inspired C#, is Simula 67, which has its roots in Algol 60. While Simula 67 was sometimes used for simulating biological processes, the main background was discrete event systems like factories and shops; there are no biological metaphors in Simula. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe