srfi-53.ss
;; SRFI 53 Reference Implementation.

;; Copyright (c) 2007 David Van Horn
;; Licensed under the Academic Free License version 3.0

;; <dvanhorn@cs.brandeis.edu>

;; This is the reference implementation for SRFI 53,
;; written by Andre van Tonder and transcribed to work
;; with MzScheme.
  
;; http://srfi.schemers.org/srfi-53/srfi-53.html

;; Note that the original reference implementation and test suite have
;; bugs which are purposely not fixed here.  See notes in test suite
;; for details.

(module srfi-53 mzscheme
  (require (lib "include.ss"))
  (provide syntax-run
           syntax-inspect
           syntax-return 
           syntax-do 
           define-syntax-computation
           let-syntax-computation
           letrec-syntax-computation
           ;; computation-rules is not actually bound in the current
           ;; implementation, which requires the form to appear on the
           ;; RHS of {define,let,letrec}-syntax-computation.
           ;;computation-rules
           syntax-let/cc
           syntax-invoke/c
           syntax-root/c 
           syntax-error
           syntax-if
           syntax-if*
           syntax-match
           syntax-match*
           syntax-eq?
           syntax-symbol?
           syntax-atom?
           syntax-append
           syntax-map
           syntax-reverse
           syntax-foldl
           syntax-foldr
           syntax-temporaries)
  
  (include "private/src/srfi-53.scm")
  
  ) ; end of module srfi-53