Are "procedure" and "function" synonymous in Racket (a dialect of Scheme)? It seems to be implied by the documentation. For example, the documentation for compose
describes it as a procedure that
[r]eturns a procedure that composes the given functions...The
compose
function allows the given functions to consume and produce any number of values...
(All of the above italicization was added by me.)
I understand that procedure?
is a library procedure and function?
is not. My question is whether it is correct to use the terms interchangeably when discussing programs (such as when teaching a class or writing documentation).