[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/libguile ChangeLog eval.c goop...
From: |
Dirk Herrmann |
Subject: |
guile/guile-core/libguile ChangeLog eval.c goop... |
Date: |
Sun, 04 May 2003 04:36:56 -0400 |
CVSROOT: /cvsroot/guile
Module name: guile
Changes by: Dirk Herrmann <address@hidden> 03/05/04 04:36:56
Modified files:
guile-core/libguile: ChangeLog eval.c goops.c macros.c macros.h
Log message:
The purpose of this patch is to make guile's internal memoizers
distinguishable from memoizing macros created on the scheme level
or from user provided primitive memoizing macros. The reason is,
that the internal memoizers are the only ones that are allowed to
transform their scheme input into memoizer byte code, while all
other memoizing macros may only transform scheme code into new
scheme code.
To achieve this, a new macro type 'builtin-macro!' is introduced.
Currently, 'builtin-macro!'s are handled as memoizing macros, but
this will change when the memoizer and executor are separated.
* macros.[ch] (scm_i_makbimacro): New.
* macros.h (SCM_BUILTIN_MACRO_P): New.
* macros.c (macro_print, scm_macro_type): Support builtin-macro!s.
* eval.c, goops.c: All of guile's primitive memoizing macros are
primitive builtin-macros now.
* eval.c (scm_macroexp, SCM_CEVAL): Make sure the primitive
builtin-macros are handled equally to memoizing macros.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/ChangeLog.diff?tr1=1.1847&tr2=1.1848&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/eval.c.diff?tr1=1.303&tr2=1.304&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/goops.c.diff?tr1=1.69&tr2=1.70&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/macros.c.diff?tr1=1.38&tr2=1.39&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/macros.h.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- guile/guile-core/libguile ChangeLog eval.c goop...,
Dirk Herrmann <=