Tcl provides several commands which create commands and contexts within which scripts can be evaluated:
- [proc]
- [apply] creates an anonymous command
- [interp create] creates a named slave interp command
- [interp alias] creates a named alias to another command
- [thread create] creates an opaque token associated with a thread
- [namespace ensemble] creates a namespace command from a namespace
- [class create] creates a named class command
- [$class create] creates an opaquely named object instance command
- [coroutine] creates a named coroutine command
generator | cmd? | #args | invocation | destructor | rename? |
---|
proc | yes | any | by name | | yes |
coroutine | yes | 1 | by name | | 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 create | yes | any | $interp eval | $interp 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? |