Thank you!!
On Jan 25, 2008, at 10:48, jeffbz wrote:
>
> Here's a patch for the jscheme compiler. I found that (and ...) gets
> compiled
> to return #t when all arguments are true rather than the value of
> the last
> argument like it should. Also, I added a hack that provides a
> 'load-when-compile' form that evaluates definitions in a file at
> compile
> time. I needed this to make some functions available for compile-time
> macroexpansion (this fixes the problem I posted about before).
> There's also
> a similar modification that makes the compiler's read pass descend
> into
> (load)ed files. I can see that not everybody might want this
> behavior, but
> it made sense to me since otherwise you'd be loading interpreted
> definitions
> from compiled code instead of just compiling everything.
> This applies to src/jsint/compiler/Compiler.scm in jscheme-7.2
>
> 56a57,66
>> (define (readlist fullfilename)
>> ; make defs available to compiler
>> (let ((L (open-input-file fullfilename)))
>> (let loop ((a (read L)))
>> (cond ((eof-object? a) ())
>> ((and (pair? a) (eq? (car a) 'load))
>> (append (readlist (cadr a)) (loop (read L))))
>> ((and (pair? a) (eq? (car a) 'load-when-compile))
>> (load (cadr a)) (loop (read L)))
>> (else (cons a (loop (read L))))))))
> 60,65c70,71
> < (let ((PROG (let readlist
> < ((L (open-input-file fullfilename)))
> < (let ((a (read L)))
> < (if (eof-object? a) ()
> < (cons a (readlist L))))))
> < (PATH_CLASSNAME
> ---
>> (let ((PROG (readlist fullfilename))
>> (PATH_CLASSNAME
> 221c228,230
> < `(if ,(first args) (and ,@(rest args)) #f))))
> ---
>> (if (null? (cdr args))
>> (car args)
>> `(if ,(first args) (and ,@(rest args)) #f)))))
>
> --
> View this message in context: http://www.nabble.com/patch%3A-compiler-fix-for-AND%2C-add-load-when-compile-tp15090512p15090512.html
> Sent from the JScheme - User mailing list archive at Nabble.com.
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Jscheme-user mailing list
> Jsc...@li...
> https://lists.sourceforge.net/lists/listinfo/jscheme-user
|