Not affiliated with the project, but my take on this is either have a really simple block syntax, like Smalltalk "[ block ... ]" (ed: Or use only indentation, like python), or have semantically meaningful start/end. To take eg: html, I always find stuff like:
<div class="navigation">
<div class="dropdown" id="misc"> ... </div>
(... imagine a few hundred lines here)
</div> <!-- text body? navigation? -->
... tends to get messy after a lot of editing and re-editing. Now this is just an example, with html5 we take a step back towards SGML/XML, and can use <article> so that </article> means "end article" (but which one?) and not "end navigation".
Stuff like this easily gets out of hand with complicated meta-programming/inclusion/"transclusion". Say you import a footer, and then needs to debug the output. What is that "}" supposed to close? (This is true both for generating eg: java code, and for generating various templates/document types).
Stuff like this easily gets out of hand with complicated meta-programming/inclusion/"transclusion". Say you import a footer, and then needs to debug the output. What is that "}" supposed to close? (This is true both for generating eg: java code, and for generating various templates/document types).