[PRL] [plt-internal] Video of Clojure talk

Shriram Krishnamurthi sk at cs.brown.edu
Thu Oct 2 14:02:05 EDT 2008


Alright, Sam...I took your suggestion seriously.  But after about 15
minutes I started to skip and just read the slides.

Part I: It's a Lisp; it has lots of data structures under a unified
type (I didn't quite catch how these are all treated similarly while
preserving their distinctive properties -- maybe that was the
interesting part); it's a "functional" language without tail calls; it
has a slightly odd non-hygienic defmacro system; it has a nice
interface to the JVM, a la the Norvig/Anderson Scheme system.

At the end of over an  hour I still hadn't heard anything about this
fabled concurrency part.

Btw, about the absence of tail calls, he repeats this fact in a bit
more detail at around 63:30, saying:

  SISC Scheme does tail calls on the JVM, right?  It does it with this
  whole other programming infrastructure.  They're calling Scheme is
  nothing like Java's, right?  You have to pass additional things, or
  trampoline, or whatever...Clojure does not do that.  Clojure has
  pedal-to-the-metal calling conventions that match Java's.  So I
  don't have tail recursion because you can't do that unless the JVM
  does that.

Maybe we should have written "Continuations from Generalized Stack
Inspection" as "Tail-Calls from Generalized Stack Inspection".

So he has RECUR for loops.  He says something that sounds
contradictory (65:00) about tail calls -- I don't quite get it.

The concurrency is at 19:45 in Part II.  That's where this whole
presentation gets interesting.  So skip to there.  (Sadly he never
repeats questions, the questions are inaudible, and most of the
interesting bits here seem to be in the responses to questions.  He
has some random babble about type systems.)

Punch line: he implements an STM.
	
The COMMUTE construct is nice.  Unfortunately, there is no checking
that the operations actually are commutative, and they may not be.
[Btw, the CSCW (Computer-Supported Collaborative Work) folks have a
huge amount of theory and examples for making surprising things
commutative.]

Shriram



More information about the PRL mailing list