cond has an else clause now

This commit is contained in:
Felix Brendel
2019-05-03 19:36:32 +02:00
parent a1fccd29de
commit 311af423df
2 changed files with 16 additions and 11 deletions
+9 -4
View File
@@ -46,10 +46,15 @@
(define (rec clauses)
(if (= nil clauses)
nil
(list 'if (first (first clauses))
(pair 'prog (rest (first clauses)))
(rec (rest clauses)))))
(rec clauses))
(if (= (first (first clauses)) 'else)
(prog
(if (not (= () (rest clauses)))
(error "There are additional clauses after the else clause!")
(pair 'prog (rest (first clauses)))))
(list 'if (first (first clauses))
(pair 'prog (rest (first clauses)))
(rec (rest clauses))))))
(rec clauses))
(define (nil? x)
"Checks if the argument is nil."