From 61545c4e75795adbdd951ed94fb6274a1a7b9709 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Mon, 21 Jun 2010 12:24:03 -0400 Subject: [PATCH] Made make-vector's type more convenient. --- .../racket/benchmarks/shootout/typed/fannkuch-redux.rktl | 9 +++++---- .../tests/racket/benchmarks/shootout/typed/fannkuch.rktl | 9 +++++---- .../tests/racket/benchmarks/shootout/typed/meteor.rktl | 2 +- collects/typed-scheme/private/base-env-indexing-abs.rkt | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/collects/tests/racket/benchmarks/shootout/typed/fannkuch-redux.rktl b/collects/tests/racket/benchmarks/shootout/typed/fannkuch-redux.rktl index fb201f1111..df42562608 100644 --- a/collects/tests/racket/benchmarks/shootout/typed/fannkuch-redux.rktl +++ b/collects/tests/racket/benchmarks/shootout/typed/fannkuch-redux.rktl @@ -9,10 +9,11 @@ (: fannkuch (Integer -> Integer)) (define (fannkuch n) - (let ([pi (list->vector - (for/list: : (Listof Integer) ([i : Integer (in-range n)]) i))] - [tmp (make-vector n)] - [count (make-vector n)]) + (let: ([pi : (Vectorof Integer) + (list->vector + (for/list: : (Listof Integer) ([i : Integer (in-range n)]) i))] + [tmp : (Vectorof Integer) (make-vector n)] + [count : (Vectorof Integer) (make-vector n)]) (let: loop : Integer ([flips : Integer 0] [perms : Integer 0] diff --git a/collects/tests/racket/benchmarks/shootout/typed/fannkuch.rktl b/collects/tests/racket/benchmarks/shootout/typed/fannkuch.rktl index 1f9c1cd93a..cf08e61527 100644 --- a/collects/tests/racket/benchmarks/shootout/typed/fannkuch.rktl +++ b/collects/tests/racket/benchmarks/shootout/typed/fannkuch.rktl @@ -9,10 +9,11 @@ (: fannkuch (Integer -> Integer)) (define (fannkuch n) - (let ([pi (list->vector - (for/list: : (Listof Integer) ([i : Integer (in-range n)]) i))] - [tmp (make-vector n)] - [count (make-vector n)]) + (let: ([pi : (Vectorof Integer) + (list->vector + (for/list: : (Listof Integer) ([i : Integer (in-range n)]) i))] + [tmp : (Vectorof Integer) (make-vector n)] + [count : (Vectorof Integer) (make-vector n)]) (let: loop : Integer ([flips : Integer 0] [perms : Integer 0] diff --git a/collects/tests/racket/benchmarks/shootout/typed/meteor.rktl b/collects/tests/racket/benchmarks/shootout/typed/meteor.rktl index f6e11b9245..99ee462f09 100644 --- a/collects/tests/racket/benchmarks/shootout/typed/meteor.rktl +++ b/collects/tests/racket/benchmarks/shootout/typed/meteor.rktl @@ -25,7 +25,7 @@ (: mover ((Integer Integer -> (values Integer Integer)) -> (Vectorof Integer))) (define (mover fun) - (let ([t (make-vector size)]) + (let: ([t : (Vectorof Integer) (make-vector size)]) (for ([p (in-range size)]) (vector-set! t p (let*-values ([(y x) (quotient/remainder p width)] [(x y) (fun x y)]) diff --git a/collects/typed-scheme/private/base-env-indexing-abs.rkt b/collects/typed-scheme/private/base-env-indexing-abs.rkt index e2e73e9b55..756168763f 100644 --- a/collects/typed-scheme/private/base-env-indexing-abs.rkt +++ b/collects/typed-scheme/private/base-env-indexing-abs.rkt @@ -135,7 +135,7 @@ [build-vector (-poly (a) (index-type (index-type . -> . a) . -> . (-vec a)))] [vector-set! (-poly (a) (-> (-vec a) index-type a -Void))] [vector-copy! (-poly (a) ((-vec a) index-type (-vec a) [index-type index-type] . ->opt . -Void))] - [make-vector (-poly (a) (cl-> [(index-type) (-vec -Nat)] + [make-vector (-poly (a) (cl-> [(index-type) (-vec (Un -Nat a))] [(index-type a) (-vec a)]))] [peek-char