#lang racket/base ;;; SPDX-License-Identifier: LGPL-3.0-or-later ;;; SPDX-FileCopyrightText: Copyright © 2021 Tony Garnock-Jones (provide (for-syntax )) (require (for-syntax racket/base)) (require (for-syntax syntax/parse)) (begin-for-syntax (define-splicing-syntax-class (pattern (~seq #:when E)) (pattern (~seq) #:attr E #'#t)) (define-splicing-syntax-class (pattern (~seq #:name N)) (pattern (~seq) #:attr N #''?)) (define-splicing-syntax-class (pattern (~seq #:daemon? D)) (pattern (~seq) #:attr D #'#f)) (define-splicing-syntax-class (pattern (~seq #:link? L)) (pattern (~seq) #:attr L #'#f)) (define-splicing-syntax-class (pattern (~seq (~seq #:match [pattern-pieces ...+ discriminant]) ...))))