[racket-dev] [plt] Push #22532: master branch updated

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sun Apr 24 22:48:49 EDT 2011

Isn't this:

(define-values (a b)
  (values (lambda (x) 1) (lambda (x) 2)))

supposed to name things properly already?

Robby

On Sun, Apr 24, 2011 at 9:44 PM,  <ryanc at racket-lang.org> wrote:
> ryanc has updated `master' from 4aabaeb7af to 8ad54552a1.
>  http://git.racket-lang.org/plt/4aabaeb7af..8ad54552a1
>
> =====[ 2 Commits ]======================================================
>
> Directory summary:
>  96.6% collects/racket/private/
>   3.3% collects/scribblings/reference/
>
> ~~~~~~~~~~
>
> fab332a Ryan Culpepper <ryanc at racket-lang.org> 2011-04-24 14:27
> :
> | let-bind assq, etc for correct object-name
> :
>  M collects/racket/private/list.rkt |   35 ++++++++++++++++++++---------------
>
> ~~~~~~~~~~
>
> 8ad5455 Ryan Culpepper <ryanc at racket-lang.org> 2011-04-24 20:40
> :
> | fix references in eopl docs to assq, etc
> :
>  M collects/scribblings/reference/reference.scrbl |    1 +
>
> =====[ Overall Diff ]===================================================
>
> collects/racket/private/list.rkt
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --- OLD/collects/racket/private/list.rkt
> +++ NEW/collects/racket/private/list.rkt
> @@ -164,21 +164,26 @@
>                   (bad-item who a orig-l)))]
>            [(null? l) #f]
>            [else (bad-list who orig-l)])))
> -      (values
> -       (lambda (x l)
> -         (assoc-loop 'assq x l eq?))
> -       (lambda (x l)
> -         (assoc-loop 'assv x l eqv?))
> -       (case-lambda
> -        [(x l) (assoc-loop 'assoc x l equal?)]
> -        [(x l is-equal?)
> -         (unless (and (procedure? is-equal?) (procedure-arity-includes? is-equal? 2))
> -           (raise-type-error 'assoc "procedure (arity 2)" is-equal?))
> -         (assoc-loop 'assoc x l is-equal?)])
> -       (lambda (f l)
> -         (unless (and (procedure? f) (procedure-arity-includes? f 1))
> -           (raise-type-error 'assf "procedure (arity 1)" f))
> -         (assoc-loop 'assf #f l (lambda (_ a) (f a)))))))
> +      (let ([assq
> +             (lambda (x l)
> +               (assoc-loop 'assq x l eq?))]
> +            [assv
> +             (lambda (x l)
> +               (assoc-loop 'assv x l eqv?))]
> +            [assoc
> +             (case-lambda
> +               [(x l) (assoc-loop 'assoc x l equal?)]
> +               [(x l is-equal?)
> +                (unless (and (procedure? is-equal?)
> +                             (procedure-arity-includes? is-equal? 2))
> +                  (raise-type-error 'assoc "procedure (arity 2)" is-equal?))
> +                (assoc-loop 'assoc x l is-equal?)])]
> +            [assf
> +             (lambda (f l)
> +               (unless (and (procedure? f) (procedure-arity-includes? f 1))
> +                 (raise-type-error 'assf "procedure (arity 1)" f))
> +               (assoc-loop 'assf #f l (lambda (_ a) (f a))))])
> +        (values assq assv assoc assf))))
>
>   ;; fold : ((A B -> B) B (listof A) -> B)
>   ;; fold : ((A1 ... An B -> B) B (listof A1) ... (listof An) -> B)
>
> collects/scribblings/reference/reference.scrbl
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --- OLD/collects/scribblings/reference/reference.scrbl
> +++ NEW/collects/scribblings/reference/reference.scrbl
> @@ -45,6 +45,7 @@ language.
>                                racket/private/define
>                                racket/private/stx
>                                racket/private/map
> +                               racket/private/list
>                                racket/private/base)]{
>
>  Unless otherwise noted, the bindings defined in this manual are
>



Posted on the dev mailing list.