[gambit-list] Keyword and rest parameters, and the print procedure, are now working

Marc Feeley feeley at iro.umontreal.ca
Sat Mar 14 08:33:17 EDT 2009


On 13-Mar-09, at 11:11 PM, Bradley Lucier wrote:

>
> On Mar 13, 2009, at 8:12 PM, David Rush wrote:
>
>>
>> 2009/3/13 Bradley Lucier <lucier at math.purdue.edu>:
>>> On Fri, 2009-03-13 at 12:13 -0400, Marc Feeley wrote:
>>>> display procedure has been changed so that it is closer to what  
>>>> other
>>>> Scheme systems do (i.e. lists and vectors are written with
>>>> parentheses, spaces, etc).
>>>
>>> Uggh.  I've spent years writing code that used the old display
>>> semantics, which you've argued quite strenuously is the "right
>>> thing" (TM) to do.  Are you arguing that this version of display  
>>> is now
>>> the "right thing"?
>>
>> Maybe it's better if you think of it as "the portable thing". I've
>> spent years working around this feature of Gambit...
>
> Yes, after I sent my email I figured out that you have the right  
> attitude.  I have < 50,000 lines of scheme code I need to audit  
> (which isn't really that much, just looking for display), and the  
> non-standard display was keeping people from Gambit.  So it's a net  
> gain.
>
> Brad


And if you are nostalgic you can always:

(define (display obj #!optional (port (current-output-port)))
   (print port: port obj))

The old behavior of display was "the right thing" to specify in the  
Scheme report when display was introduced many years ago.  Now there  
is history and habits to contend with (unfortunately not *your*  
habits).  That's why in 2009 the "fringe writing" algorithm is the  
right thing for "print", and the wrong thing for "display".

Marc




More information about the Gambit-list mailing list