/usr/share/zenlisp/bubblesort.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 24 25 26 | ; zenlisp example program
; By Nils M Holm, 1998-2007
; See the file LICENSE for conditions of use.
; Sort a list using the bubblesort algorithm:
; (require '~nmath)
; (bubblesort < '(#5 #1 #7 #2 #6)) => '(#1 #2 #5 #6 #7)
(require 'orderedp)
(define (bubblesort p x)
(letrec
((bubble-up
(lambda (x)
(cond ((or (null x) (null (cdr x)))
x)
((p (car x) (cadr x))
(cons (car x) (bubble-up (cdr x))))
(t (cons (cadr x)
(bubble-up (cons (car x)
(cddr x))))))))
(bubble-step
(lambda (x)
(cond ((orderedp p x) x)
(t (bubble-step (bubble-up x)))))))
(bubble-step x)))
|