Tcl provides several commands which create commands and contexts within which scripts can be evaluated:
generator | cmd? | #args | invocation | destructor | rename? |
---|---|---|---|---|---|
proc | yes | any | by name | yes | |
coroutine | yes | 1 | by name | yes | |
interp create | yes | any | $interp eval | $interp destroy | yes |
namespace ensemble | yes | any | by name | namespace delete | yes |
class create | yes | any | by name | $class destroy | yes |
$class create | yes | any | by name | $obj destroy | yes |
interp alias | yes | any | by name | interp alias | no |
thread::create | no | any | thread send | thread::release | no |
apply | no | any | by reference | implicit | no |
key:
generator | what generates an instance of this form? |
cmd? | does this form construct a command? |
#args | how many args does the constructed form take? |
invocation | how is this form invoked? |
destructor | what explicit destructor disposes of this form? |
rename? | does rename destroy this form? |