From 2308b615f051f1f82515cd9ea266b37aacdd63c7 Mon Sep 17 00:00:00 2001 From: Jack Firth Date: Sat, 11 Jul 2015 21:15:30 -0700 Subject: [PATCH 1/2] Add failing test --- unstable/lens/compound.rkt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unstable/lens/compound.rkt b/unstable/lens/compound.rkt index cae2a16..1acb24b 100644 --- a/unstable/lens/compound.rkt +++ b/unstable/lens/compound.rkt @@ -65,8 +65,8 @@ (make-lens get set)) (module+ test - (define a-b-lens (compound-hash-lens 'a first-lens - 'b third-lens)) + (define a-b-lens (compound-hash-lens 'b third-lens + 'a first-lens)) (check-equal? (lens-view a-b-lens '(1 2 3)) (hash 'a 1 'b 3)) (check-equal? (lens-set a-b-lens '(1 2 3) (hash 'a 100 'b 200)) From d83fdc2e808498037ca40381793c70efdc9fdf47 Mon Sep 17 00:00:00 2001 From: Jack Firth Date: Sat, 11 Jul 2015 21:16:35 -0700 Subject: [PATCH 2/2] Remove implicit ordering dependency --- unstable/lens/compound.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unstable/lens/compound.rkt b/unstable/lens/compound.rkt index 1acb24b..61c1743 100644 --- a/unstable/lens/compound.rkt +++ b/unstable/lens/compound.rkt @@ -61,7 +61,7 @@ (define (get target) (value-list->hash keys (lens-view list-lens target))) (define (set target new-view-hash) - (lens-set list-lens target (hash-values new-view-hash))) + (lens-set list-lens target (map (hash-ref new-view-hash _) keys))) (make-lens get set)) (module+ test