From b3ab93768fef9bb4e7d0fbfca013fda021198896 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 24 Feb 2017 00:33:47 +0000 Subject: [PATCH] Add types for loop precondition checking functions. (#501) This is primarily intended for use on the `linklet` branch, but does not cause problems in other contexts. --- .../base-env/base-special-env.rkt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/typed-racket-lib/typed-racket/base-env/base-special-env.rkt b/typed-racket-lib/typed-racket/base-env/base-special-env.rkt index 398f71d7..19a2aa50 100644 --- a/typed-racket-lib/typed-racket/base-env/base-special-env.rkt +++ b/typed-racket-lib/typed-racket/base-env/base-special-env.rkt @@ -98,6 +98,33 @@ (-> Univ -Int (seq-vals (list -Nat))) (-> Univ (-seq a) (seq-vals (list a))) (-> Univ (-seq a b) (seq-vals (list a b))))))] + ;; check-range + [(make-template-identifier 'check-range 'racket/private/for) + (-> Univ Univ Univ -Void)] + ;; check-naturals + [(make-template-identifier 'check-naturals 'racket/private/for) + (-> Univ -Void)] + ;; check-string + [(make-template-identifier 'check-string 'racket/private/for) + (-> Univ -Void)] + ;; check-bytes + [(make-template-identifier 'check-bytes 'racket/private/for) + (-> Univ -Void)] + ;; check-list + [(make-template-identifier 'check-list 'racket/private/for) + (-> Univ -Void)] + ;; check-fXvector for flvector + [(make-template-identifier 'check-flvector 'racket/flonum) + (-> Univ -Void)] + ;; check-fXvector for fxvector + [(make-template-identifier 'check-fxvector 'racket/fixnum) + (-> Univ -Void)] + ;; check-vector + [(make-template-identifier 'check-vector 'racket/private/for) + (-> Univ -Void)] + ;; check-in-hash + [(make-template-identifier 'check-in-hash 'racket/private/for) + (-> Univ -Void)] ;; in-range [(make-template-identifier 'in-range 'racket/private/for) (cl->* (-> -Byte (-seq -Byte))