(define-public (list-join lst intermediate)
"put INTERMEDIATE between all elts of LST."
-
- (reduce (lambda (elt prev)
+
+ (fold-right
+ (lambda (elem prev)
(if (pair? prev)
- (cons elt (cons intermediate prev))
- (list elt intermediate prev)))
+ (cons elem (cons intermediate prev))
+ (list elem)))
'() lst))
-
(define-public (filtered-map proc lst)
(filter
(lambda (x) x)
(define-public (car< a b) (< (car a) (car b)))
-
(define-public (symbol<? lst r)
(string<? (symbol->string lst) (symbol->string r)))