From 4f050888e2190e6808739bc93e9275f576aba196 Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Wed, 12 Aug 2015 12:16:05 -0400 Subject: [PATCH] Export let*-values from TR correctly Closes PR 14997 --- typed-racket-compatibility/typed/scheme/base.rkt | 2 +- typed-racket-lib/typed-racket/base-env/prims.rkt | 2 ++ typed-racket-lib/typed-racket/private/with-types.rkt | 2 +- typed-racket-lib/typed/racket/base.rkt | 2 +- typed-racket-test/succeed/pr14997.rkt | 9 +++++++++ 5 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 typed-racket-test/succeed/pr14997.rkt diff --git a/typed-racket-compatibility/typed/scheme/base.rkt b/typed-racket-compatibility/typed/scheme/base.rkt index b6311cd9..b31654ce 100644 --- a/typed-racket-compatibility/typed/scheme/base.rkt +++ b/typed-racket-compatibility/typed/scheme/base.rkt @@ -3,7 +3,7 @@ (providing (libs (except scheme/base #%module-begin #%top-interaction with-handlers default-continuation-prompt-tag define λ lambda define-struct for for* - let let* let-values letrec letrec-values + let let* let-values let*-values letrec letrec-values let/cc let/ec do case-lambda for/list for/vector for/hash for/hasheq for/hasheqv for/and for/or for/sum for/product for/lists diff --git a/typed-racket-lib/typed-racket/base-env/prims.rkt b/typed-racket-lib/typed-racket/base-env/prims.rkt index 4451ad77..aeab81a7 100644 --- a/typed-racket-lib/typed-racket/base-env/prims.rkt +++ b/typed-racket-lib/typed-racket/base-env/prims.rkt @@ -56,6 +56,7 @@ the typed racket language. [-let* let*] [-letrec letrec] [-let-values let-values] + [-let*-values let*-values] [-letrec-values letrec-values] [-let/cc let/cc] [-let/ec let/ec] @@ -63,6 +64,7 @@ the typed racket language. [-let* let*:] [-letrec letrec:] [-let-values let-values:] + [-let*-values let*-values:] [-letrec-values letrec-values:] [-let/cc let/cc:] [-let/ec let/ec:] diff --git a/typed-racket-lib/typed-racket/private/with-types.rkt b/typed-racket-lib/typed-racket/private/with-types.rkt index 33ada5de..1c86a37b 100644 --- a/typed-racket-lib/typed-racket/private/with-types.rkt +++ b/typed-racket-lib/typed-racket/private/with-types.rkt @@ -17,7 +17,7 @@ "../standard-inits.rkt" (for-template (except-in racket/base for for* with-handlers lambda λ define - let let* letrec letrec-values let-values + let let* letrec letrec-values let-values let*-values let/cc let/ec do case-lambda struct define-struct default-continuation-prompt-tag for/list for/vector for/hash for/hasheq for/hasheqv diff --git a/typed-racket-lib/typed/racket/base.rkt b/typed-racket-lib/typed/racket/base.rkt index ff139a34..77349992 100644 --- a/typed-racket-lib/typed/racket/base.rkt +++ b/typed-racket-lib/typed/racket/base.rkt @@ -3,7 +3,7 @@ (providing (libs (except racket/base #%module-begin #%top-interaction with-handlers default-continuation-prompt-tag define λ lambda define-struct for for* - let let* let-values letrec letrec-values + let let* let-values let*-values letrec letrec-values let/cc let/ec do case-lambda struct for/list for/vector for/hash for/hasheq for/hasheqv for/and for/or for/sum for/product for/lists diff --git a/typed-racket-test/succeed/pr14997.rkt b/typed-racket-test/succeed/pr14997.rkt new file mode 100644 index 00000000..a1903c56 --- /dev/null +++ b/typed-racket-test/succeed/pr14997.rkt @@ -0,0 +1,9 @@ +#lang typed/racket + +;; Test for PR 14997 + +(let*-values ([((a : Integer)) 1]) a) +(let*-values ([((a : Integer)) 1] [((b : Integer)) a]) a) +(let*-values: ([((a : Integer)) 1]) a) +(let*-values ([(a) 1]) a) +(let*-values ([(a) 1] [(b) a]) a)