Re: [MIT-Scheme-devel] two changes to push

2009-09-20 Thread Taylor R Campbell
Date: Sun, 20 Sep 2009 12:14:51 -0700 From: Joe Marshall jmarsh...@alum.mit.edu I think moving the transcript port from the property list to the port itself would be worthwhile because this call chain happens a lot. It would make ports a little bit bigger, but I don't think that's

Re: [MIT-Scheme-devel] two changes to push

2009-09-20 Thread Chris Hanson
Arggh Good catch. Let's move the transcript operations as you suggest. On Sun, Sep 20, 2009 at 12:14 PM, Joe Marshall jmarsh...@alum.mit.edu wrote: On Sat, Sep 19, 2009 at 9:50 PM, Taylor R Campbell campb...@mumble.net wrote:   For SYMBOL?, I thought it was worth integrating because  

Re: [MIT-Scheme-devel] two changes to push

2009-09-19 Thread Taylor R Campbell
Date: Sat, 12 Sep 2009 09:46:16 -0700 From: Joe Marshall jmarsh...@alum.mit.edu I did integrate-operator because the argument `object' is duplicated. The slightly better job is offset by the potential for bugs later on. I didn't realize until you said this that DEFINE -

Re: [MIT-Scheme-devel] two changes to push

2009-09-19 Thread Chris Hanson
It's worth the trouble in some situations. Generally I only use it when the parameters are referred to exactly once, or when I know that the arguments are always simple expressions without side effects. There is code in the compiler to optimize expressions of the form ((lambda (x) ...) y), but

Re: [MIT-Scheme-devel] two changes to push

2009-09-19 Thread Joe Marshall
On Sat, Sep 19, 2009 at 3:27 PM, Taylor R Campbell campb...@mumble.net wrote: I've seen that, but it doesn't say that the declarations can change the semantics of a program.  At the very least, it should have a big scary warning to say that.  I always assumed that SF would perform the

Re: [MIT-Scheme-devel] two changes to push

2009-09-19 Thread Chris Hanson
Something to keep in mind is that define-integrable normally has no effect outside of the file that it appears in. It's rare for someone to use the integrate-external declaration. On Sat, Sep 19, 2009 at 3:37 PM, Joe Marshall jmarsh...@alum.mit.edu wrote: On Sat, Sep 19, 2009 at 3:27 PM, Taylor

Re: [MIT-Scheme-devel] two changes to push

2009-09-19 Thread Taylor R Campbell
Date: Sat, 19 Sep 2009 15:37:33 -0700 From: Joe Marshall jmarsh...@alum.mit.edu That's pretty hard to prove unless all the calls between the argument binding and the argument use are primitives or known to be effect-free. For the most part, you can get away with it because

Re: [MIT-Scheme-devel] two changes to push

2009-09-12 Thread Joe Marshall
I did integrate-operator because the argument `object' is duplicated. The slightly better job is offset by the potential for bugs later on. On Thu, Sep 10, 2009 at 9:28 PM, Chris Hanson c...@chris-hanson.org wrote: Sounds good, but use DEFINE-INTEGRABLE instead of the declaration.  It will do

[MIT-Scheme-devel] two changes to push

2009-09-10 Thread Joe Marshall
I have two changes I'll push this afternoon if no one objects. 1. (declare (integrate-operator symbol?)) in symbol.scm This improves the performance of guarantee-symbol which is ubiquitous. 2. Fix integration of ACCESS forms where the environment is SYSTEM-GLOBAL-ENVIRONMENT (these

Re: [MIT-Scheme-devel] two changes to push

2009-09-10 Thread Chris Hanson
Sounds good, but use DEFINE-INTEGRABLE instead of the declaration. It will do a slightly better job. On Thu, Sep 10, 2009 at 8:06 AM, Joe Marshall jmarsh...@alum.mit.edu wrote: I have two changes I'll push this afternoon if no one objects. 1.  (declare (integrate-operator symbol?))  in