tcl::unsupported

::tcl::unsupported is a namespace that contains bits and pieces of Tcl that are experimental, not intended for production code, perhaps useful for debugging and introspecting Tcl, and liable to change or removal without warning.

Additions in Tcl 8.5

disassemble
disassemble bytecode

Additions in 8.6 beta versions

yieldTo
moved into the global namespace in version 8.6
yieldm
removed in version 8.6 after yieldto was modified such that it became trivial to implement in terms of it.

Additions in Tcl 8.6

assemble
Assembles TAL into bytecode and executes it
inject
introduce a command into a coroutine
representation
display the representation of a Tcl_Obj for debugging purposes. Do not base the behavior of any command on the results of this one; it does not conform to Tcl's value semantics!

Additions in Tcl 8.6.3

getbytecode
Script-readable version of disassemble.

Discussion

AMG: If memory serves, once upon a time Tcl had commands called unsupported0, unsupported1, unsupported2, etc. Once they were finalized, they were renamed. For example, I'm pretty sure fcopy used to be known as unsupported0.

I greatly prefer the namespace approach to segregating the unsupported commands.

DKF: Yes, but when unsupported0 was introduced, we didn't have namespaces; I'm pretty sure it came in with the http package, which predated 8.0…