Add test file, implement and/or/not, prepare for proper compound proc
This commit is contained in:
43
test.scm
Normal file
43
test.scm
Normal file
@@ -0,0 +1,43 @@
|
||||
(begin
|
||||
(define (newline) (display "\n"))
|
||||
(display (or #t #f)) (newline)
|
||||
(display (and #t #f)) (newline)
|
||||
(display (not #f)) (newline)
|
||||
(define a 5)
|
||||
(define (fib n)
|
||||
(cond
|
||||
((< n 0) (display "WARNING: n smaller than 0"))
|
||||
((< n 3) 1)
|
||||
(else (+ (fib (- n 2)) (fib (- n 1))))))
|
||||
(define (fac n) (if (= n 1) 1 (* n (fac (- n 1)))))
|
||||
(set! a (+ a a))
|
||||
(define l (list a (* 3 3) (+ a a)))
|
||||
(begin
|
||||
(display "(fac ") (display a)
|
||||
(display ") -> ") (display (fac a)) (display "\n"))
|
||||
(begin
|
||||
(display "(fib ") (display a)
|
||||
(display ") -> ") (display (fib a)) (display "\n"))
|
||||
(define l (cons 'a l))
|
||||
(display l) (newline)
|
||||
(display (cons 'a 'b)) (newline)
|
||||
(display (car l)) (newline)
|
||||
(display (cdr (cdr l))) (newline)
|
||||
(display (pair? l)) (newline)
|
||||
(display (pair? 'a)) (newline)
|
||||
(display ((lambda (x y) (* x a)) 3 5)) (newline)
|
||||
(display
|
||||
(let ((a (+ a a))
|
||||
(b (* a a))
|
||||
(x 42))
|
||||
(+ a b x)))
|
||||
(newline)
|
||||
(define (p)
|
||||
(define a 42)
|
||||
(define (f) a)
|
||||
f)
|
||||
(display ((p))) ; should return 42
|
||||
(newline)
|
||||
'done
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user