From 849ee86c855999daf91947bd26fadb4e296dfaa3 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Tue, 18 May 2010 16:09:25 -0400 Subject: [PATCH] Added type signatures to more pair accessors in typed Scheme's base env. --- collects/typed-scheme/private/base-env.rkt | 60 ++++++++++++++++++++-- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/collects/typed-scheme/private/base-env.rkt b/collects/typed-scheme/private/base-env.rkt index 14e9033d59..435a67724a 100644 --- a/collects/typed-scheme/private/base-env.rkt +++ b/collects/typed-scheme/private/base-env.rkt @@ -78,8 +78,54 @@ (cl->* [->acc (list (-pair a (-pair b (-pair c d)))) d (list -cdr -cdr -cdr)] [-> (-lst a) (-lst a)]))] -[cadddr (-poly (a) (-> (-lst a) a))] -[cddddr (-poly (a) (-> (-lst a) (-lst a)))] +[caaaar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair (-pair (-pair a b) c) d) e)) a (list -car -car -car -car)] + [-> (-lst (-lst (-lst (-lst a)))) a]))] +[cdaaar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair (-pair (-pair a b) c) d) e)) b (list -cdr -car -car -car)] + [-> (-lst (-lst (-lst (-lst a)))) (-lst a)]))] +[cadaar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair (-pair a (-pair b c)) d) e)) b (list -car -cdr -car -car)] + [-> (-lst (-lst (-lst a))) a]))] +[cddaar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair (-pair b (-pair b c)) d) e)) c (list -cdr -cdr -car -car)] + [-> (-lst (-lst (-lst a))) (-lst a)]))] +[caadar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair a (-pair (-pair b c) d)) e)) b (list -car -car -cdr -car)] + [-> (-lst (-lst (-lst a))) a]))] +[cdadar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair a (-pair (-pair b c) d)) e)) c (list -cdr -car -cdr -car)] + [-> (-lst (-lst (-lst a))) (-lst a)]))] +[caddar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair a (-pair b (-pair c d))) e)) c (list -car -cdr -cdr -car)] + [-> (-lst (-lst a)) a]))] +[cdddar (-poly (a b c d e) + (cl->* [->acc (list (-pair (-pair a (-pair b (-pair c d))) e)) d (list -cdr -cdr -cdr -car)] + [-> (-lst (-lst a)) (-lst a)]))] +[caaadr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair (-pair (-pair b c) d) e))) b (list -car -car -car -cdr)] + [-> (-lst (-lst (-lst a))) a]))] +[cdaadr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair (-pair (-pair b c) d) e))) c (list -cdr -car -car -cdr)] + [-> (-lst (-lst (-lst a))) (-lst a)]))] +[cadadr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair (-pair b (-pair c d)) e))) c (list -car -cdr -car -cdr)] + [-> (-lst (-lst a)) a]))] +[cddadr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair (-pair b (-pair c d)) e))) d (list -cdr -cdr -car -cdr)] + [-> (-lst (-lst a)) (-lst a)]))] +[caaddr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair b (-pair (-pair c d) e)))) c (list -car -car -cdr -cdr)] + [-> (-lst (-lst a)) a]))] +[cdaddr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair b (-pair (-pair c d) e)))) d (list -cdr -car -cdr -cdr)] + [-> (-lst (-lst a)) (-lst a)]))] +[cadddr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair b (-pair c (-pair d e))))) d (list -car -cdr -cdr -cdr)] + [-> (-lst a) a]))] +[cddddr (-poly (a b c d e) + (cl->* [->acc (list (-pair a (-pair b (-pair c (-pair d e))))) e (list -cdr -cdr -cdr -cdr)] + [-> (-lst a) (-lst a)]))] [first (-poly (a b) @@ -92,9 +138,13 @@ [third (-poly (a b c d) (cl->* [->acc (list (-pair a (-pair b (-pair c (-lst d))))) c (list -car -cdr -cdr)] [->* (list (-lst a)) a]))] -[fourth (-poly (a) ((-lst a) . -> . a))] -[fifth (-poly (a) ((-lst a) . -> . a))] -[sixth (-poly (a) ((-lst a) . -> . a))] +[fourth (-poly (a) ((-lst a) . -> . a))] +[fifth (-poly (a) ((-lst a) . -> . a))] +[sixth (-poly (a) ((-lst a) . -> . a))] +[seventh (-poly (a) ((-lst a) . -> . a))] +[eigth (-poly (a) ((-lst a) . -> . a))] +[ninth (-poly (a) ((-lst a) . -> . a))] +[tenth (-poly (a) ((-lst a) . -> . a))] [rest (-poly (a b) (cl->* (->acc (list (-pair a (-lst b))) (-lst b) (list -cdr))