[RLUG] Practical Common Lisp - Google Video

n a xequalsct at hotmail.com
Sun May 21 21:00:32 PDT 2006


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/




More information about the RLUG mailing list