diff --git a/collects/tests/typed-scheme/succeed/pair-test2.rkt b/collects/tests/typed-scheme/succeed/pair-test2.rkt new file mode 100644 index 00000000..8e35e52c --- /dev/null +++ b/collects/tests/typed-scheme/succeed/pair-test2.rkt @@ -0,0 +1,48 @@ +#lang typed/scheme + +(define: x : (Listof (Listof Integer)) + '((1 1 1) (2 2 2) (3 3 3) (4 4 4) (5 5 5))) + +(ann (caar x) Integer) +(ann (cdar x) (Listof Integer)) +(ann (cadr x) (Listof Integer)) +(ann (cddr x) (Listof (Listof Integer))) +(ann (caadr x) Integer) +(ann (cdadr x) (Listof Integer)) +(ann (cadar x) Integer) +(ann (cddar x) (Listof Integer)) +(ann (caddr x) (Listof Integer)) +(ann (cdddr x) (Listof (Listof Integer))) +(ann (caddar x) Integer) +(ann (cdddar x) (Listof Integer)) +(ann (cadadr x) Integer) +(ann (cddadr x) (Listof Integer)) +(ann (caaddr x) Integer) +(ann (cdaddr x) (Listof Integer)) +(ann (cadddr x) (Listof Integer)) +(ann (cddddr x) (Listof (Listof Integer))) + + +(define: y : (Listof (Listof (Listof Integer))) + '(((11 11) (12 12) (13 13)) + ((21 21) (22 22) (23 23)) + ((31 31) (32 32) (33 33)))) + +(ann (caaar y) Integer) +(ann (cdaar y) (Listof Integer)) +(ann (cadaar y) Integer) +(ann (cddaar y) (Listof Integer)) +(ann (caadar y) Integer) +(ann (cdadar y) (Listof Integer)) +(ann (caaadr y) Integer) +(ann (cdaadr y) (Listof Integer)) + + +(define: z : (Listof (Listof (Listof (Listof Integer)))) + '((((111 111) (112 112)) + ((121 121) (122 122))) + (((211 211) (212 212)) + ((221 221) (222 222))))) + +(ann (caaaar z) Integer) +(ann (cdaaar z) (Listof Integer)) diff --git a/collects/tests/typed-scheme/succeed/pair-test3.rkt b/collects/tests/typed-scheme/succeed/pair-test3.rkt new file mode 100644 index 00000000..460b6cf9 --- /dev/null +++ b/collects/tests/typed-scheme/succeed/pair-test3.rkt @@ -0,0 +1,48 @@ +#lang typed/scheme + +(define: x : (Pair (Pair (Pair (Pair Integer String) + (Pair True Null)) + (Pair (Pair False Char) + (Pair String Null))) + (Pair (Pair (Pair String Integer) + (Pair Float Null)) + (Pair (Pair (Vectorof Float) True) + (Pair (Listof Float) False)))) + '((((1 . "1") . (#t)) + . ((#f . #\f) . ("2"))) + . ((("3" . 4) . (1.0)) + . ((#(2.0 3.0 4.0) . #t) + . ((2.0 3.0 4.0) . #f))))) + + +(ann (caar x) (Pair (Pair Integer String) (Pair True Null))) +(ann (caaar x) (Pair Integer String)) +(ann (caaaar x) Integer) +(ann (cdaaar x) String) +(ann (cdaar x) (Pair True Null)) +(ann (cadaar x) True) +(ann (cddaar x) Null) + +(ann (cdar x) (Pair (Pair False Char) (Pair String Null))) +(ann (cadar x) (Pair False Char)) +(ann (caadar x) False) +(ann (cdadar x) Char) +(ann (cddar x) (Pair String Null)) +(ann (caddar x) String) +(ann (cdddar x) Null) + +(ann (cadr x) (Pair (Pair String Integer) (Pair Float Null))) +(ann (caadr x) (Pair String Integer)) +(ann (caaadr x) String) +(ann (cdaadr x) Integer) +(ann (cdadr x) (Pair Float Null)) +(ann (cadadr x) Float) +(ann (cddadr x) Null) + +(ann (cddr x) (Pair (Pair (Vectorof Float) True) (Pair (Listof Float) False))) +(ann (caddr x) (Pair (Vectorof Float) True)) +(ann (caaddr x) (Vectorof Float)) +(ann (cdaddr x) True) +(ann (cdddr x) (Pair (Listof Float) False)) +(ann (cadddr x) (Listof Float)) +(ann (cddddr x) False)