
[para] The [term parameter]s of [term private]s are the heart of the
system, providing the space needed to transfer command arguments to
their implementations, and having the most attributes controlling
their behaviour.

[para] This complexity is strongly mitigated by the use of sensible
defaults for each of the three possible kinds of parameter, i.e.
positional [term input]s, named [term option]s", and [term state]
hidden from the command line.

[para] Each kind has its own construction command in the language for
[term private]s (See [term [vset TITLE_DSL_PRIVATE]]) which specifies
the common information which cannot have defaults, i.e.

[list_begin enumerated]
[enum] the name identifying it to the system,
[enum] the help text describing it in informal speech, and, of course,
[enum] the parameter specification itself, using the commands of this section.
[list_end]

[para][subsection Naming]
[include dsl_para_naming.inc]

[para][subsection {General control}]
[include dsl_para_general.inc]

[para][subsection Representations]
[include dsl_para_reps.inc]

[para][subsection Validation]
[include dsl_para_validation.inc]

[para][subsection Signaling]
[include dsl_para_callbacks.inc]

[para][subsection {Supporting commands}]
[include dsl_para_support.inc]
