A proc has:
- A name.
- A signature (which is made of signs).
- A list of arguments (whose elements are args including the special one called args).
- A body.
An example:
proc foo {a {b defaultB} args} {puts hello}
- Name: "foo".
- Signature: "a {b defaultB} args".
- Arguments: "a b args".
- Body: "puts hello".
A proc invocation is formed by the name of the proc followed by a call.
Examples of invoking foo with different calls:
foo oneA
foo anotherA oneB
foo theA theB someC andSomeD
The following operations relative to procs are considered here:
- procPuts Show the user information of a proc or set of procs in a terminal.
- procExists Check whether a proc exists or not given its name.
- procSignature Get the signature of a proc given its name.
- procSignatureCheck Check that a given string is a valid proc signature.
- procSignatureMapCall Produce a mapping matching a call with a given proc signature.