diff --git a/embddr/common.scm b/embddr/common.scm index 79c5414..e1dc0bb 100644 --- a/embddr/common.scm +++ b/embddr/common.scm @@ -15,6 +15,7 @@ number->bits string-c-radix->number has-duplicates? find-duplicates + insert-between make-mux-selectors)) (else @@ -166,3 +167,20 @@ (bits-first-diff-msb abits obits))) others)))))) addrs))) + +;;; Insert object between list items +;; (define (insert-between lst x) +;; (if (null? lst) +;; lst +;; (reverse +;; (cdr +;; (fold (lambda (item out) +;; (cons* x item out)) +;; '() lst))))) + +(define (insert-between lst x) + (if (or (null? lst) + (null? (cdr lst))) + lst + (cons* (car lst) x + (insert-between (cdr lst) x))))