#| File: semantics/hash-percents.rkt Author: Bill Turtle (wrturtle) Provides the hash-percents for Pyret |# (module hash-percents racket (require (only-in "../utilities.rkt" APP-LOCS-MARK-ID)) (require (for-syntax (only-in "../utilities.rkt" syntax->vector))) (provide #%module-begin #%datum (rename-out [app #%app]) #%top #%top-interaction) (define-syntax (app stx) (syntax-case stx () [(_ op rands ...) (with-syntax ([locations (map syntax->vector (syntax->list (syntax (op rands ...))))]) (syntax/loc stx (with-continuation-mark APP-LOCS-MARK-ID 'locations (#%app op rands ...))))])) )