From dd321008c4c15a8545b2086ba1f6978d0ecef4e9 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Wed, 13 Nov 2013 00:05:39 -0800 Subject: [PATCH] Move internal into internal-forms. --- .../typed-racket/base-env/internal.rkt | 12 ------------ .../typed-racket/base-env/prims.rkt | 1 - .../typed-racket/typecheck/internal-forms.rkt | 14 ++++++++++++-- 3 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/internal.rkt diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/internal.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/internal.rkt deleted file mode 100644 index e3f2a1a87b..0000000000 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/internal.rkt +++ /dev/null @@ -1,12 +0,0 @@ -#lang racket/base - -(require (for-template racket/base)) - -(provide internal) - -(define (internal stx) - (quasisyntax/loc stx - (define-values () - (begin - (quote-syntax #,stx) - (#%plain-app values))))) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/prims.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/prims.rkt index dca2627bab..934b16de82 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/prims.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/prims.rkt @@ -68,7 +68,6 @@ This file defines two sorts of primitives. All of them are provided into any mod racket/struct-info syntax/struct "annotate-classes.rkt" - "internal.rkt" "../utils/tc-utils.rkt" "../private/syntax-properties.rkt" "../types/utils.rkt" diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/internal-forms.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/internal-forms.rkt index 122db8cb9b..b97c316960 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/internal-forms.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/internal-forms.rkt @@ -7,6 +7,8 @@ (for-template racket/base)) (provide + (for-syntax internal) + type-alias type-refinement typed-struct @@ -68,7 +70,7 @@ ;;; Internal form syntax matching -(define-syntax-class internal +(define-syntax-class internal^ #:attributes (value) #:literals (values) #:literal-sets (kernel-literals) @@ -87,7 +89,7 @@ (define-syntax-class name #:auto-nested-attributes #:literal-sets ((internal-literals #:at name)) - (pattern i:internal #:with (lit . body) #'i.value)) + (pattern i:internal^ #:with (lit . body) #'i.value)) (define pred (syntax-parser [(~var _ name) #t] @@ -114,3 +116,11 @@ [failed-typecheck (typecheck-fail-internal stx message:str var:id)]) +;;; Internal form creation +(begin-for-syntax + (define (internal stx) + (quasisyntax/loc stx + (define-values () + (begin + (quote-syntax #,stx) + (#%plain-app values))))))