From 3f6a83557234b81fddb10699bbbfa8b8936f14e3 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sun, 5 Feb 2012 17:23:05 -0600 Subject: [PATCH] lift some work out so it happens earlier (and less often) in the -> contract combinators. This speeds up the running of the (new) file tut.scrbl by about 10%. --- collects/racket/contract/private/arrow.rkt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/collects/racket/contract/private/arrow.rkt b/collects/racket/contract/private/arrow.rkt index dd9d244641..be5525e983 100644 --- a/collects/racket/contract/private/arrow.rkt +++ b/collects/racket/contract/private/arrow.rkt @@ -465,17 +465,14 @@ v4 todo: [partial-ranges (map (λ (rng) (rng blame)) rngs-proj)] [partial-mandatory-kwds (map (λ (kwd) (kwd swapped)) mandatory-kwds-proj)] [partial-optional-kwds (map (λ (kwd) (kwd swapped)) optional-kwds-proj)]) + (define the-args (append partial-doms partial-optional-doms + partial-mandatory-kwds partial-optional-kwds + partial-ranges)) (λ (val) (if has-rest? (check-procedure/more val mtd? dom-length mandatory-keywords optional-keywords blame) (check-procedure val mtd? dom-length optionals-length mandatory-keywords optional-keywords blame)) - (define chap/imp-func - (apply func - blame - val - (append partial-doms partial-optional-doms - partial-mandatory-kwds partial-optional-kwds - partial-ranges))) + (define chap/imp-func (apply func blame val the-args)) (if post (wrapper val