From 570df7d6658d4ff0b88c12fb6d3af4917a1a3fa3 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 2 Jul 2010 12:03:20 -0400 Subject: [PATCH] Generalize fixed-length lists to listofs. Closes PR10057. --- collects/tests/typed-scheme/succeed/pr10057.rkt | 5 +++++ collects/typed-scheme/types/convenience.rkt | 1 + 2 files changed, 6 insertions(+) create mode 100644 collects/tests/typed-scheme/succeed/pr10057.rkt diff --git a/collects/tests/typed-scheme/succeed/pr10057.rkt b/collects/tests/typed-scheme/succeed/pr10057.rkt new file mode 100644 index 0000000000..a4f1829d17 --- /dev/null +++ b/collects/tests/typed-scheme/succeed/pr10057.rkt @@ -0,0 +1,5 @@ +#lang typed-scheme +(require scheme/match) +(ann (match '(a b c) + [(list sym more ...) 1] + [else 1]) Integer) \ No newline at end of file diff --git a/collects/typed-scheme/types/convenience.rkt b/collects/typed-scheme/types/convenience.rkt index 25869544f1..e3c87c2022 100644 --- a/collects/typed-scheme/types/convenience.rkt +++ b/collects/typed-scheme/types/convenience.rkt @@ -31,6 +31,7 @@ (match t* [(Value: '()) (-lst Univ)] [(Value: 0) -Nat] + [(List: ts) (-lst (apply Un ts))] [(? (lambda (t) (subtype t -Nat))) -Nat] [(? (lambda (t) (subtype t -Integer))) -Integer] [(? (lambda (t) (subtype t -Flonum))) -Flonum]