/usr/share/zenlisp/fold-left.l is in zenlisp 2013.11.22-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ; zenlisp example program
; By Nils M Holm, 2007
; See the file LICENSE for conditions of use.
; R6RS Scheme-style FOLD-LEFT. This function is like FOLD,
; but accepts multiple list arguments:
; (fold-left list '0 '(a b c) '(d e f)) => '((#0ad b e) c f)
(define (fold-left f b . a*)
(letrec
((car-of
(lambda (a)
(map car a)))
(cdr-of
(lambda (a)
(map cdr a)))
(fold
(lambda (a* r)
(cond ((null (car a*)) r)
(t (fold (cdr-of a*)
(apply f r (car-of a*))))))))
(cond ((null a*) (bottom 'too-few-arguments))
(t (fold a* b)))))
|