From 4c91867b46160b93512dd356ed662a56e40a8020 Mon Sep 17 00:00:00 2001 From: AlexKnauth Date: Thu, 20 Aug 2015 20:02:57 -0400 Subject: [PATCH] fix vector-mapper-lens example --- lens/util/immutable.rkt | 5 +++++ unstable/lens/mapper.scrbl | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lens/util/immutable.rkt b/lens/util/immutable.rkt index 9f82d91..781444f 100644 --- a/lens/util/immutable.rkt +++ b/lens/util/immutable.rkt @@ -2,6 +2,8 @@ (provide (all-defined-out)) +(require racket/vector) + ;; The immutable? predicate only works for strings, byte-strings, vectors, hash-tables, and boxes. (define (immutable-string? v) @@ -31,3 +33,6 @@ (define (build-immutable-vector n f) (vector->immutable-vector (build-vector n f))) +(define (immutable-vector-map f v) + (vector->immutable-vector (vector-map f v))) + diff --git a/unstable/lens/mapper.scrbl b/unstable/lens/mapper.scrbl index e6e7933..7e0a2ba 100644 --- a/unstable/lens/mapper.scrbl +++ b/unstable/lens/mapper.scrbl @@ -19,5 +19,6 @@ Creates a lens that maps @racket[lens] over a target vector with @racket[vector- @lenses-unstable-examples[ (lens-view (vector-mapper-lens first-lens) '#((a b) (c d) (e f))) (lens-set (vector-mapper-lens first-lens) '#((a b) (c d) (e f)) '#(1 2 3)) - (lens-transform (vector-mapper-lens first-lens) '#((a b) (c d) (e f)) (λ (xs) (vector-map symbol->string xs))) + (lens-transform (vector-mapper-lens first-lens) '#((a b) (c d) (e f)) + (λ (xs) (vector->immutable-vector (vector-map symbol->string xs)))) ]}