[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: the benefits of immutability




   From: "Joe Marshall" <jrm@ccs.neu.edu>
   To: "Guy Steele - Sun Microsystems Labs" <Guy.Steele@sun.com>, 
<vkarvone@mappi.helsinki.fi>
   Cc: <el-vadimo@comcast.net>, <perry@piermont.com>, <ll1-discuss@ai.mit.edu>
   Subject: Re: the benefits of immutability
   Date: Tue, 19 Aug 2003 16:06:51 -0400
   
   From: "Guy Steele - Sun Microsystems Labs" <Guy.Steele@Sun.COM>
   
   >
   >    From: "Joe Marshall" <jrm@ccs.neu.edu>
   >    To: <vkarvone@mappi.helsinki.fi>
   >    Cc: "Vadim Nasardinov" <el-vadimo@comcast.net>, "Perry E. Metzger"
   > <perry@piermont.com>, <ll1-discuss@ai.mit.edu>
   >    Subject: Re: the benefits of immutability
   >    Date: Tue, 19 Aug 2003 13:19:02 -0400
   >
   >    Hmmm,  a few points off:
   >
   >      1.  When I said `the square root function and the ToString function'
   >           I intended that those be the `standard' Math.sqrt and
   Object.toString
   >           operators.  Although your `toString' and `sqrt' functions do
   perform
   >           the appropriate operations, they are essentially arbitrary
   objects
   >    with
   >           the appropriate name, not the functions I asked for.
   >
   > What, you don't like (inverse) eta conversion?
   
   C'mon, you know eta conversion is unsound in a typed calculus!
   
Let me get this straight: a Lisp programmer insisting
on type soundness???

   >      3.  Consider these lines:
   >           return new Double(Math.sqrt(((Double)a).doubleValue()));}},
   >           return ((Fn)((Object[])a)[1]).ap(((Fn)((Object[])a)[1]).ap(b));
   >           System.out.println( ((Fn)(compose.ap(new
   >    Object[]{sqrt,toString}))).ap(new Double(10)) );
   >
   >           Too many parenthesis.
   >
   > Let me get this straight: a Lisp programmer complaining
   > about too many parentheses???
   
   ``He used... sarcasm. He knew all the tricks, dramatic irony, metaphor,
    bathos, puns, parody, litotes and... satire.'' -- Luigi Vercotti  (Michael
   Palin)
   
   The *really* funny thing is that his solution uses *far more* parenthesis
   than the Lisp solution!
   
Thus proving its superiority.

--Guy