#lang racket/base (require (for-syntax racket/base pollen/setup) pollen/tag) (provide def/c (rename-out (top~ #%top))) (define-syntax (top~ stx) (syntax-case stx () [(_ . ID) (setup:allow-unbound-ids) #'(#%app make-default-tag-function 'ID)] [(_ . ID) #'(def/c ID)])) (define-syntax (def/c stx) (syntax-case stx () [(_ ID) (identifier-binding #'ID) #'ID] [(_ ID) #'(#%top . ID)]))