This talk is ostensibly about how language affects software arcitecture, but
is really just about lisp:
http://video.google.com/videoplay?docid=448441135356213813
If you get to the part about generic functions, at the begininning of _this_
talk
http://www.periphery-machine-interface.com/generic-functions.mov
Pascal Costanza paints a clearer picture of how the CL object system was
derived from Smalltalk:
[I'm paraphrasing here]
"
class OutputStream {
void printin(Object obj)
...
}
allows you to say:
out.printin(pascall);
...or, in Lisp Syntax:
(send out 'printin pascal)
The receiver is just another argument, so lets change
(send receiver message args...)
to
(call message receiver args...)
"call" is redundant so let's just say:
(message reciever args...)
so now
(send out 'printin pascal)
is
(printin out pascal)
now we can define methods
(defmethod printin ((out output-stream) (p person)))
this is a method with multiple dispatch!
...
"
If you get to the part about error handling, the example is from chapter 19
of his book, which is free online
http://www.gigamonkeys.com/book/
but feel free to buy it ;-)
oh yeah, his final answer to "if lisp is so good, how come everyone isn't
using it?" which gets cut off at the end is "isn't everyone that matters?"
Nick
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
_______________________________________________
RLUG mailing list
[email protected]
http://lists.rlug.org/mailman/listinfo/rlug