Use group-by from stdlib
authorSiraaj Khandkar <siraaj@khandkar.net>
Thu, 2 Dec 2021 13:16:33 +0000 (08:16 -0500)
committerSiraaj Khandkar <siraaj@khandkar.net>
Thu, 2 Dec 2021 13:16:33 +0000 (08:16 -0500)
tt.rkt

diff --git a/tt.rkt b/tt.rkt
index cbc5b7a..9f0d665 100644 (file)
--- a/tt.rkt
+++ b/tt.rkt
 
 (: peers-merge (-> (Listof Peer) * (Listof Peer)))
 (define (peers-merge . peer-sets)
-  (define groups
-    (foldl
-      (λ (p groups)
-         (hash-update groups (Peer-url-str p) (λ (group) (cons p group)) '()))
-      (hash)
-      (append* peer-sets)))
   (define (merge peers)
     (match peers
       ['() (raise 'impossible)]
                    [else
                      (raise 'impossible)])])
          (merge (cons p ps)))]))
-  (sort (map merge (hash-values groups))
+  (sort (map merge (group-by Peer-url-str (append* peer-sets)))
         (match-lambda**
           [((Peer _ _ u1 _) (Peer _ _ u2 _)) (string<? u1 u2)])))
 
This page took 0.024459 seconds and 4 git commands to generate.