#lang honu/core provide withSyntax; macro withSyntax () { [variable:identifier expr:expression] { b ... /* body:statement */ }; } { primitiveWithSyntax [variable_result (datumToSyntax (syntax expr) expr_result (syntax expr) (syntax expr))] syntax(b ...) /* #sx scheme:syntax #sx (with-syntax ([variable_result (datum->syntax (real-syntax expr) expr_result (real-syntax expr) (real-syntax expr))]) (honu-unparsed-begin b ...)) */ } // applySchemeSyntax(#sx(real-syntax (with-syntax ([variable_result expr_result]) (honu-unparsed-begin b ...))))