DEFINEprocname
text
Defines a procedure with name procname
and definition text
.
If there is already a procedure with the same name, the new definition replaces the old one.
The text
input must be a list whose members are lists.
The first member is a list of inputs; it looks like a TO line without the word TO, without the procedure name, and without the colons before input names.
In other words, the members of this first sublist are words for the names of required inputs and lists for the names of optional or rest inputs.
The remaining sublists of the text
input make up the body of the procedure, with one sublist for each instruction line of the body.
(There is no END line in the text
input.)
It is an error to redefine a primitive procedure unless the variable REDEFP has the value TRUE.
DEFINE "ABC [[a b] [PRINT :a] [PRINT :b]]
ABC "Hello "Bye
Hello
Bye