Why is it neccissary to define the variable %standard-phases as a list of dotted pairs

'((symbol . procedure) ... )

as shown in the documentation?

(define %standard-phases ;; The list of standard phases (quite a few are omitted ;; for brevity). Each element is a symbol/procedure pair. (list (cons 'unpack unpack) (cons 'configure configure) (cons 'build build) (cons 'check check) (cons 'install install)))

Don't the previous (define* (symbol arguments) body) already create a binding between symbol and procedure? And if so why can't a list of just the symbols suffice?

submitted by /u/PetriciaKerman
[link] [comments]