From e3d0c0aee80422182d70856a3017e227d9fd42b4 Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Sun, 15 Dec 2019 22:57:31 -0800 Subject: [PATCH] =?UTF-8?q?Use=20specialized=20not-equals=20functions=20(!?= =?UTF-8?q?=3D,=20nchar=3D=3F)=20instead=20of=20general=20neq=3F=20functio?= =?UTF-8?q?n.?= --- lib.rkt | 8 ++++---- src/04.rkt | 10 +++++----- src/08.rkt | 2 +- src/11.rkt | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib.rkt b/lib.rkt index 37fe1e7..83cbfb4 100644 --- a/lib.rkt +++ b/lib.rkt @@ -21,7 +21,7 @@ uncurry sum - != neq? + != nchar=? nzero? negate pos-or-zero @@ -122,9 +122,9 @@ (define (!= n1 n2) (not (= n1 n2))) -;; neq : any -> any -> boolean -(define (neq? v1 v2) - (not (eq? v1 v2))) +;; nchar=? : char -> char -> boolean +(define (nchar=? c1 c2) + (not (char=? c1 c2))) ;; nzero? : number -> boolean (define (nzero? n) diff --git a/src/04.rkt b/src/04.rkt index 047f8a0..8351b0c 100644 --- a/src/04.rkt +++ b/src/04.rkt @@ -19,12 +19,12 @@ (define (has-group-of-two? cs) (cond [(< (length cs) 2) #f] [(= (length cs) 2) - (eq? (first cs) (second cs))] + (char=? (first cs) (second cs))] [else - (or (and (eq? (first cs) - (second cs)) - (neq? (second cs) - (third cs))) + (or (and (char=? (first cs) + (second cs)) + (nchar=? (second cs) + (third cs))) (has-group-of-two? (dropf cs (λ (c) (eq? c (first cs))))))])) (define-values (part1 part2) diff --git a/src/08.rkt b/src/08.rkt index 6233524..a789a7d 100644 --- a/src/08.rkt +++ b/src/08.rkt @@ -25,7 +25,7 @@ (* ones twos))) (define part2 - (let* ([image (map (∂ findf (∂ neq? #\2)) (transpose layers))]) + (let* ([image (map (∂ findf (∂ nchar=? #\2)) (transpose layers))]) (show-list-grid pixel-hash (chunks-of image width)))) (show-solution part1 #f) \ No newline at end of file diff --git a/src/11.rkt b/src/11.rkt index 9232a8e..3cf3713 100644 --- a/src/11.rkt +++ b/src/11.rkt @@ -53,7 +53,7 @@ (let*-values ([(clr* st) (resume-with-output (resume clr))] [(δ st) (resume-with-output st)]) - (cond [(neq? clr clr*) + (cond [(!= clr clr*) (hash-set! hull xy clr*)]) (let* ([dir (update-dir dir δ)] [xy (update-pos dir xy)])