; General List Manipulation ; ========================== (module list mzscheme (provide pairs-overlapped) (require (lib "match.ss")) ; Grouping ; ======== ; ; (pairs-overlapped '(e0 e1 e2 ...)) -> ((e0 e1) (e1 e2) ...) ; ---------------- ; (define pairs-overlapped (match-lambda ((h1 h2 . r) `((,h1 ,h2) ,@(pairs-overlapped `(,h2 ,@r)))) (_ '()))) )