psyntax: ((@@ primitive NAME) ARG ...) in (guile) module is a primcall
authorAndy Wingo <wingo@pobox.com>
Sun, 23 Jun 2013 19:36:08 +0000 (21:36 +0200)
committerAndy Wingo <wingo@pobox.com>
Sun, 23 Jun 2013 19:36:08 +0000 (21:36 +0200)
commit9833864171fa54100e97040a4f1007919ff614ad
tree484730c8f1f77a1942f0f9136d37d75adf556b6a
parent9b965638e9e6cfe927807dbacc86212cc638967b
psyntax: ((@@ primitive NAME) ARG ...) in (guile) module is a primcall

* ice-9/psyntax.scm (@@): Recognize new form, (@@ primitive NAME), which
  in operator position expands to a primcall.  This expansion is only
  available for forms in the (guile) module.  Added an argument to @@
  and @ procedures, the module, for use by expanded syntax objects;
  adapted callers.
  (analyze-variable): Error when accessing a primitive for value.
  (get-global-definition-hook): Primitives are not macros.
  (syntax-type): A form with a primitive in the car is a
  primitive-call.
  (expand-expr): Residualize primitive calls as primcalls.
  (syntax-local-binding): Return 'primitive as the type for primitives.
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
test-suite/tests/syncase.test