2021-06-04 13:56:03 +00:00
|
|
|
;;; SPDX-License-Identifier: LGPL-3.0-or-later
|
2021-06-04 14:20:14 +00:00
|
|
|
;;; SPDX-FileCopyrightText: Copyright © 2018-2021 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
2021-06-01 15:19:24 +00:00
|
|
|
|
2018-05-04 16:52:16 +00:00
|
|
|
#lang racket/base
|
|
|
|
|
|
|
|
(require auxiliary-macro-context)
|
|
|
|
|
|
|
|
(define-auxiliary-macro-context
|
|
|
|
#:context-name pattern-expander
|
|
|
|
#:prop-name prop:pattern-expander
|
|
|
|
#:prop-predicate-name pattern-expander?
|
|
|
|
#:prop-accessor-name pattern-expander-proc
|
|
|
|
#:macro-definer-name define-pattern-expander
|
|
|
|
#:introducer-parameter-name current-pattern-expander-introducer
|
|
|
|
#:local-introduce-name syntax-local-pattern-expander-introduce
|
|
|
|
#:expander-id-predicate-name pattern-expander-id?
|
|
|
|
#:expander-transform-name pattern-expander-transform)
|
|
|
|
|
|
|
|
(provide (for-syntax
|
|
|
|
prop:pattern-expander
|
|
|
|
pattern-expander?
|
|
|
|
pattern-expander-proc
|
|
|
|
syntax-local-pattern-expander-introduce
|
|
|
|
pattern-expander-id?
|
|
|
|
pattern-expander-transform)
|
|
|
|
define-pattern-expander)
|