Disarm syntax in typed unit macros

Closes #536
This commit is contained in:
Daniel Feltey 2017-04-27 17:46:23 -05:00
parent 4b35df2c96
commit 764696752d
2 changed files with 16 additions and 2 deletions

View File

@ -32,7 +32,7 @@
syntax/id-table
racket/unit-exptime
syntax/strip-context
(utils tc-utils)
(utils tc-utils disarm)
syntax/id-table
syntax/id-set)
(prefix-in untyped- (only-in racket/unit
@ -313,7 +313,7 @@
(syntax-parse stx
[(_ e)
(define exp-e (local-expand #'e (syntax-local-context) (kernel-form-identifier-list)))
(syntax-parse exp-e
(syntax-parse (disarm* exp-e)
#:literals (begin define-values define-syntaxes :)
[(begin b ...)
#'(add-tags b ...)]

View File

@ -0,0 +1,14 @@
#lang typed/racket/base
(require typed/racket/unit)
(define-syntax-rule (define* form ...) (define form ...))
(define-signature sig^
([id : (Any Any)]))
(define-unit sig@
(import)
(export sig^)
(define* (id [x : Any]) : Any x))