<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE TIP SYSTEM "http://tcl.activestate.com/cgi-bin/tct/tip/tipxml.dtd">
<!-- Converted at Wed May 16 20:04:45 GMT 2012 -->
<!-- TIP AutoGenerator - written by Donal K. Fellows -->

<TIP number='277'>
<header><title>Create Namespaces as Needed</title><author address="mailto:msofer@users.sourceforge.net">Miguel Sofer</author><status type='project' state='draft' tclversion="8.7" vote='prior'>$Revision: 1.3 $</status><history></history><created day='1' month='oct' year='2006' /></header>
<abstract>This TIP proposes that namespaces be created automatically whenever a script tries to create a command, variable or child namespace in it.</abstract>
<body><section title="Proposal">
<para>As proposed in [FR 582926], whenever a script tries to create a command, variable or namespace, Tcl should automatically create all namespaces in the path if they do not already exist.</para>
<para>In other words, as an example, the current behaviour</para>
<verbatim><vline encoding='base64'>ICAgJSBuYW1lc3BhY2UgY2hpbGRyZW4gW25hbWVzcGFjZSBjdXJyZW50XQ==</vline><vline encoding='base64'>ICAgOjphY3RpdmVzdGF0ZSA6OnRjbA==</vline><vline encoding='base64'>ICAgJSBzZXQgYTo6Yjo6eCAy</vline><vline encoding='base64'>ICAgY2FuJ3Qgc2V0ICJhOjpiOjp4IjogcGFyZW50IG5hbWVzcGFjZSBkb2Vzbid0IGV4aXN0</vline><vline encoding='base64'>ICAgJSBuYW1lc3BhY2UgY2hpbGRyZW4gW25hbWVzcGFjZSBjdXJyZW50XQ==</vline><vline encoding='base64'>ICAgOjphY3RpdmVzdGF0ZSA6OnRjbA==</vline></verbatim>
<para>should become</para>
<verbatim><vline encoding='base64'>ICAgJSBuYW1lc3BhY2UgY2hpbGRyZW4gW25hbWVzcGFjZSBjdXJyZW50XQ==</vline><vline encoding='base64'>ICAgOjphY3RpdmVzdGF0ZSA6OnRjbA==</vline><vline encoding='base64'>ICAgJSBzZXQgYTo6Yjo6eCAy</vline><vline encoding='base64'>ICAgMg==</vline><vline encoding='base64'>ICAgJSBuYW1lc3BhY2UgY2hpbGRyZW4gW25hbWVzcGFjZSBjdXJyZW50XQ==</vline><vline encoding='base64'>ICAgOjphIDo6YWN0aXZlc3RhdGUgOjp0Y2w=</vline><vline encoding='base64'>ICAgJSBuYW1lc3BhY2UgY2hpbGRyZW4gOjph</vline><vline encoding='base64'>ICAgOjphOjpi</vline></verbatim>
</section>
<section title="Reference Implementation and Documentation">
<para>Forthcoming at SF.</para>
</section>
<section title="Copyright">
<para>This document has been placed in the public domain.</para>
</section>
</body></TIP>

