(arithmetic + 3 4) ⇒ 7
(arithmetic * 3 4) ⇒ 12
(arithmetic remainder 30 4) ⇒ 2
One way:
(define arithmetic
(lambda (operate op1 op2)
(cond ((equal? operate +) (+ op1 op2))
((equal? operate *) (* op1 op2))
((equal? operate remainder) (remainder op1 op2)))))
Q: Why is arithmetic inconvenient?