From eea95c2743e6e8497d1a349b3af25cef7922098f Mon Sep 17 00:00:00 2001 From: Jack Firth Date: Wed, 25 Feb 2015 13:59:08 -0800 Subject: [PATCH] Make assoc-lens better behaved --- lenses/list.rkt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lenses/list.rkt b/lenses/list.rkt index cd97dff..a962a5f 100644 --- a/lenses/list.rkt +++ b/lenses/list.rkt @@ -68,12 +68,13 @@ (if assoc-pair (assoc-set assoc-list key v #:is-equal? equal?) (append assoc-list (list (list key v))))) - (values assoc-pair assoc-lens-set)) + (values (and assoc-pair (second assoc-pair)) + assoc-lens-set)) (module+ test (define assoc-a-lens (assoc-lens 'a)) (define assoc-d-lens (assoc-lens 'd)) - (check-equal? (lens-view assoc-a-lens assoc-list) '(a 1)) + (check-equal? (lens-view assoc-a-lens assoc-list) 1) (check-equal? (lens-set assoc-a-lens assoc-list 100) '((a 100) (b 2) (c 3))) (check-false (lens-view assoc-d-lens assoc-list))