[Top][All Lists]

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

Re: Planning work

From: Rob Browning
Subject: Re: Planning work
Date: 09 May 2001 13:51:12 -0500
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

Marius Vollmer <address@hidden> writes:

> We can concentrate on just `compile-file' and work out a scheme how
> to make `load' deal with compiled files in addition to source files.
> Then would come the macro expansion pass.  We would probably start
> with `ice/'.

OK, so just jumping right in the middle of things with reckless
abandon (with little or no forethought :>), I decided I wanted to try
and insinuate some code into the syncase eval process.  In the end I
want to be able to catch code after it's been expanded, but before
it's going to be evaled across the board, but for now I just want to
play around a bit and see what happens.

So I tried the following gross hack to try and get syncase's eval to
spit out the form before evaluating it.  However, my quick attempt
failed.  Any suggestions?

  (define internal-eval
    (let ((eval-primop (nested-ref the-scm-module '(app modules guile eval))))
      (lambda (expression environment-specifier)
        (display "Evaling: " (current-error-port))
        (write expression (current-error-port))
        (newline (current-error-port))
        (eval-primop expression environment-specifier))))

  (define-public (eval x environment)
    (internal-eval (if (and (pair? x)
                            (equal? (car x) "noexpand"))
                       (cadr x)
                       (sc-expand x))


Rob Browning <address@hidden> PGP=E80E0D04F521A094 532B97F5D64E3930

reply via email to

[Prev in Thread] Current Thread [Next in Thread]