Blame


1 665c255d 2023-08-04 jrmu (defun expand-cond-clauses (clauses)
2 665c255d 2023-08-04 jrmu (if (null clauses)
3 665c255d 2023-08-04 jrmu 'false
4 665c255d 2023-08-04 jrmu (let ((first (car clauses))
5 665c255d 2023-08-04 jrmu (rest (cdr clauses)))
6 665c255d 2023-08-04 jrmu (cond
7 665c255d 2023-08-04 jrmu ((cond-else-clause? first)
8 665c255d 2023-08-04 jrmu (if (null rest)
9 665c255d 2023-08-04 jrmu (sequence->exp (cond-actions first))
10 665c255d 2023-08-04 jrmu (error "ELSE clause isn't last " clauses)))
11 665c255d 2023-08-04 jrmu ((extended-cond-syntax? first)
12 665c255d 2023-08-04 jrmu (make-if
13 665c255d 2023-08-04 jrmu (extended-cond-test first)
14 665c255d 2023-08-04 jrmu (list
15 665c255d 2023-08-04 jrmu (extended-cond-recipient first)
16 665c255d 2023-08-04 jrmu (extended-cond-test first))
17 665c255d 2023-08-04 jrmu (expand-cond-clauses rest)))
18 665c255d 2023-08-04 jrmu (t
19 665c255d 2023-08-04 jrmu (make-if
20 665c255d 2023-08-04 jrmu (cond-predicate first)
21 665c255d 2023-08-04 jrmu (sequence->exp (cond-actions first))
22 665c255d 2023-08-04 jrmu (expand-cond-clauses rest)))))))