This page is part of the web mail archives of SRFI 53 from before July 7th, 2015. The new archives for SRFI 53 contain all messages, not just those from before July 7th, 2015.
At Thu, 25 Mar 2004 21:54:09 -0500 (EST), Andre van Tonder wrote: > > On Fri, 26 Mar 2004, Alex Shinn wrote: > > > Anyway, any Scheme can trivially handle both by renaming define-syntax > > to something like internal-define-syntax and building a new > > define-syntax on top of that. > > Don't you need module support for this? I meant at the core language level (in most cases in C) you just do a big query/replace s/((define|let|letrec)-syntax)/internal-\1/. The wrapper then becomes the existing reference implementation for define-syntax-computations (in terms of internal-define-syntax) plus: (internal-define-syntax define-syntax (syntax-rules (syntax-computations) ;; catch syntax-computations ((_ name (syntax-computations x ...)) (define-syntax-computations name (syntax-computations x ...))) ;; manually add static checks for other cases like syntax-case ;; ... ;; default ((_ x ...) (internal-define-syntax x ...)))) and likewise for let-syntax and letrec-syntax. Hackish but very easy and it's only the worst-case scenario. It just means the Scheme implementors themselves have to want SRFI-53 - end users can't extend with an add-on module. And of course you still have no way to dynamically add new syntax-FOOs. -- Alex