In 1999 or so I tried to write a better macro preprocessor. I called it MPP. Here it is, via the Wayback Machine<p><a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20070209223522&#x2F;http:&#x2F;&#x2F;users.footprints.net&#x2F;~kaz&#x2F;mpp.html" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20070209223522&#x2F;http:&#x2F;&#x2F;users.foot...</a><p>Oh, I have the sources. I haven&#x27;t lost anything. Why I don&#x27;t host that project anywhere is that I&#x27;m not all that proud of it.<p>I worked for one startup some almost years ago whose guys looked at that thing before they hired me and liked it.<p>MPP has namespaces, and it also tries to preserve whitespace (expansions occurring at some indentation level are indented). It could be used for Python, in theory.<p>Thinking along those lines, I posted to a Python newsgroup around then: reactions were mixed:<p><a href="http:&#x2F;&#x2F;code.activestate.com&#x2F;lists&#x2F;python-list&#x2F;9193&#x2F;" rel="nofollow">http:&#x2F;&#x2F;code.activestate.com&#x2F;lists&#x2F;python-list&#x2F;9193&#x2F;</a><p>:)