From b89baef0fbc877b42a8d7990368b93dfffc90621 Mon Sep 17 00:00:00 2001 From: Jack Firth Date: Fri, 24 Jul 2015 22:01:34 -0700 Subject: [PATCH] Rename vector pluck --- unstable/lens/vector.rkt | 36 +++++++++++++++++++----------------- unstable/lens/vector.scrbl | 4 ++-- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/unstable/lens/vector.rkt b/unstable/lens/vector.rkt index 7eefbd6..eb88629 100644 --- a/unstable/lens/vector.rkt +++ b/unstable/lens/vector.rkt @@ -2,17 +2,17 @@ (provide vector-ref-lens vector-ref-nested-lens - vector-pluck-lens - ) + vector-pick-lens) (require fancy-app lens/base/main "arrow.rkt" - "join.rkt" - ) + "join.rkt") + (module+ test (require rackunit)) + (define (vector-ref-lens i) (make-lens (vector-ref _ i) @@ -26,25 +26,27 @@ x (vector-ref v j)))))) +(module+ test + (check-equal? (lens-view (vector-ref-lens 0) #(a b c)) 'a) + (check-equal? (lens-set (vector-ref-lens 2) #(a b c) "C") #(a b "C"))) + + (define (vector-ref-nested-lens . is) (apply lens-thrush (map vector-ref-lens is))) -(define (vector-pluck-lens . is) +(module+ test + (check-equal? (lens-transform (vector-ref-nested-lens 2 1) + #(a #(b c) #(d e f)) + symbol->string) + #(a #(b c) #(d "e" f)))) + + +(define (vector-pick-lens . is) (apply lens-join/vector (map vector-ref-lens is))) - (module+ test - (check-equal? (lens-view (vector-ref-lens 0) #(a b c)) 'a) - (check-equal? (lens-view (vector-ref-lens 1) #(a b c)) 'b) - (check-equal? (lens-view (vector-ref-lens 2) #(a b c)) 'c) - (check-equal? (lens-set (vector-ref-lens 0) #(a b c) "A") #("A" b c)) - (check-equal? (lens-set (vector-ref-lens 1) #(a b c) "B") #(a "B" c)) - (check-equal? (lens-set (vector-ref-lens 2) #(a b c) "C") #(a b "C")) - (check-equal? (lens-transform (vector-ref-nested-lens 2 1) #(a #(b c) #(d e f)) symbol->string) - #(a #(b c) #(d "e" f))) - (define 1-5-6-lens (vector-pluck-lens 1 5 6)) + (define 1-5-6-lens (vector-pick-lens 1 5 6)) (check-equal? (lens-view 1-5-6-lens #(a b c d e f g)) #(b f g)) (check-equal? (lens-set 1-5-6-lens #(a b c d e f g) #(1 2 3)) - #(a 1 c d e 2 3)) - ) + #(a 1 c d e 2 3))) diff --git a/unstable/lens/vector.scrbl b/unstable/lens/vector.scrbl index 7edabd4..4ed69b7 100644 --- a/unstable/lens/vector.scrbl +++ b/unstable/lens/vector.scrbl @@ -19,11 +19,11 @@ Equivalent to @racket[(lens-thrush (vector-ref-lens i) ...)]. (lens-set (vector-ref-nested-lens 2 1) #(a b #(s i) d) "eye") ]} -@defproc[(vector-pluck-lens [i exact-nonnegative-integer?] ...) lens?]{ +@defproc[(vector-pick-lens [i exact-nonnegative-integer?] ...) lens?]{ Like @racket[list-refs-lens], but for vectors. Equivalent to @racket[(lens-join/vector (vector-ref-lens i) ...)]. @lenses-unstable-examples[ - (define 1-5-6-lens (vector-pluck-lens 1 5 6)) + (define 1-5-6-lens (vector-pick-lens 1 5 6)) (lens-view 1-5-6-lens #(a b c d e f g)) (lens-set 1-5-6-lens #(a b c d e f g) #(1 2 3)) ]}