mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
first-class macro representation (no bits on variables)
* libguile/macros.c (scm_macro_p): Update docs. * module/ice-9/boot-9.scm (module-define!, module-ref): Define pre-boot forms of these functions as well. I suspect module-add! can go soon. (module-lookup-keyword, module-define-keyword!) (module-undefine-keyword!) Remove these. * module/ice-9/psyntax-pp.scm: Regenerate. Notice the difference? * module/ice-9/psyntax.scm (put-global-definition-hook) (get-global-definition-hook): Rework to expect first-class macros. Heh heh. (remove-global-definition-hook): Pleasantly, this hook can go away. (chi-install-global): Terrorism to generate the right kind of output -- will clean up. (chi-top): Unify definition handling for all kinds of values.
This commit is contained in:
parent
5a0132b337
commit
3d5f3091e1
4 changed files with 63 additions and 54 deletions
|
@ -224,8 +224,8 @@ SCM_DEFINE (scm_make_extended_syncase_macro, "make-extended-syncase-macro", 3, 0
|
|||
|
||||
SCM_DEFINE (scm_macro_p, "macro?", 1, 0, 0,
|
||||
(SCM obj),
|
||||
"Return @code{#t} if @var{obj} is a regular macro, a memoizing macro or a\n"
|
||||
"syntax transformer.")
|
||||
"Return @code{#t} if @var{obj} is a regular macro, a memoizing macro, a\n"
|
||||
"syntax transformer, or a syntax-case macro.")
|
||||
#define FUNC_NAME s_scm_macro_p
|
||||
{
|
||||
return scm_from_bool (SCM_SMOB_PREDICATE (scm_tc16_macro, obj));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue