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, typeNothing
.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)
______