initial import

This commit is contained in:
2025-04-09 22:46:32 -07:00
parent 8ecbfeab1e
commit 23b4fb6d47
16 changed files with 1524 additions and 0 deletions

38
bels.lsp Normal file
View File

@@ -0,0 +1,38 @@
;
; Ringing the changes
; see http://www.ulisp.com/show?1G42
;
(defvar *bell-pin* 3)
(defun fnd (x lst)
(cond
((null lst) nil)
((< x (car lst)) (car lst))
(t (fnd x (cdr lst)))))
(defun sub (new old lst)
(cond
((null lst) nil)
((eq old (car lst)) (cons new (cdr lst)))
(t (cons (car lst) (sub new old (cdr lst))))))
(defun nxt (lst)
(cond
((not (apply > (cdr lst))) (cons (car lst) (nxt (cdr lst))))
((> (car lst) (cadr lst)) nil)
(t (let* ((rest (reverse (cdr lst)))
(old (fnd (car lst) rest)))
(cons old (sub (car lst) old rest))))))
(defun all (fun lst)
(when lst
(funcall fun lst)
(all fun (nxt lst))))
(defun bel (lis)
(mapc
(lambda (x) (note *bell-pin* x 4) (delay 500) (note) (delay 125))
lis)
(delay 500))