More than 50 years ago I attempted to describe LISP by giving many pairs of expression-value pairs. I gave some insight into the language but was probably insufficient to learn to write programs in LISP. I try the same now for Scheme.

You should probably have a Scheme interpreter running a REPL (Read Eval Print Loop) where you type in the first expression of a pair, and expect the second expression which is the resulting value.

4 ⇒ 4
-5 ⇒ -5
3/5 ⇒ 3/5
9/12 ⇒ 3/4
07 ⇒ 7
.1 ⇒ 0.1
"abc" ⇒ "abc"
'wt ⇒ wt
(define a 6) ⇒
a ⇒ 6
b ⇒ reference to undefined identifier: b
(+ 3 7) ⇒ 10
(* 3 5) ⇒ 15
(/ 4 10) ⇒ 2/5
(/ 2 a) ⇒ 1/3
(- 1 (/ 2 a)) ⇒ 2/3
(expt 2 3) ⇒ 8
(define r +) ⇒
(r 3 5) ⇒ 8
(< 4 6) ⇒ #t
(> 4 6) ⇒ #f
(if #t "yes" "no") ⇒ "yes"
(if #f "yes" "no") ⇒ "no"
(if (< 3 4) 5 6) ⇒ 5
(quote (+ 3 5)) ⇒ (+ 3 5)
'(* 3 7) ⇒ (* 3 7)
'(c 4 2/3) ⇒ (c 4 2/3)
'07 ⇒ 7
'2/4 ⇒ 1/2
'(2 . 't) ⇒ (2 . 't)
'(2 . (6 . 3)) ⇒ (2 6 . 3)
'()
(cons 2 5) ⇒ (2 . 5)
(cons 2 'qc) ⇒ (2 . qc)
'() ⇒ ()
(cons 3 '()) ⇒ (3)
(car '(2 . 5)) ⇒ 2
(cdr '(2 . 5)) ⇒ 5
(car '(3)) ⇒ 3
(cdr '(3)) ⇒ ()
(list 2 3 4 5) ⇒ (2 3 4 5)
'(2 . (3 . (4 . (5 . ())))) ⇒ (2 3 4 5)
'(3 . boo) ⇒ (3 . boo)
⇒
⇒
⇒