What Would Scheme Display

One thing to keep in mind when doing this question, builtins get rendered as such:

scm> + #[+] scm> list #[list]

If evaluating an expression causes an error, type SchemeError. If nothing is displayed, type Nothing.

Use Ok to test your knowledge with the following "What Would Scheme Display?" questions:

python ok -q wwsd -u
scm> + ______ scm> list ______ scm> (define-macro (f x) (car x)) ______ scm> (f (2 3 4)) ; type SchemeError for error, or Nothing for nothing ______ scm> (f (+ 2 3)) ______ scm> (define x 2000) ______ scm> (f (x y z)) ______ scm> (f (list 2 3 4)) ______ scm> (f (quote (2 3 4))) ______ scm> (define quote 7000) ______ scm> (f (quote (2 3 4))) ______ scm> (define-macro (g x) (+ x 2)) ______ scm> (g 2) ______ scm> (g (+ 2 3)) ______ scm> (define-macro (h x) (list '+ x 2)) ______ scm> (h (+ 2 3)) ______ scm> (define-macro (if-else-5 condition consequent) `(if ,condition ,consequent 5)) ______ scm> (if-else-5 #t 2) ______ scm> (if-else-5 #f 3) ______ scm> (if-else-5 #t (/ 1 0)) ______ scm> (if-else-5 #f (/ 1 0)) ______ scm> (if-else-5 (= 1 1) 2) ______ scm> '(1 x 3) ______ scm> (define x 2) ______ scm> `(1 x 3) ______ scm> `(1 ,x 3) ______ scm> '(1 ,x 3) ______ scm> `(,1 x 3) ______ scm> `,(+ 1 x 3) ______ scm> `(1 (,x) 3) ______ scm> `(1 ,(+ x 2) 3) ______ scm> (define y 3) ______ scm> `(x ,(* y x) y) ______ scm> `(1 ,(cons x (list y 4)) 5) ______