<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Rust and Scala support macros, C++ has templates, and even the venerable C has #defines. Introducing mera-programming is by no means easy as it generally equates introducing a second, more limited, language inside the original. There exists today an opportunity to take advantage of the string literal effort&nbsp;</div><div id="AppleMailSignature">* provide a minimalmultiline literal extension</div><div id="AppleMailSignature">* provide a general mechanism into the current parser for dealing with "pockets" of semantically tagged contents into the stream of implicitely swift-tagged characters<br><br>The latter could be used at a later date for</div><div id="AppleMailSignature">* custom colorization schemes&nbsp;</div><div id="AppleMailSignature">* custom validation</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">It is conceivable to reserve one of these semantic tags, say SWIFT_SIL for the introduction of SIL code in multiline litterals as a test of what macros in swift might be.</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">Done clealy, this scheme has the advantage of</div><div id="AppleMailSignature">* very minimal intrusion into the existing parser, reducing the risk of unwantes side effects</div><div id="AppleMailSignature">* very minimal level of commitment to featureset of string literals</div><div id="AppleMailSignature">* maximum open doors regarding what can be added via future via content tags (imagine using mime types as tags, while allowing the mirror API to query the tag value)</div><div id="AppleMailSignature">* a simple pathway for the introduction of macros, even supporting different types of macro types, none of which requiring changes to the parser once the proposed first step is in place</div><div id="AppleMailSignature"><br><div>Regards</div>(From<span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">&nbsp;mobile<font face="Helvetica Neue, Helvetica, Segoe UI, Arial, freesans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol"><span style="font-size: 16px; background-color: rgb(255, 255, 255);">)</span></font></span></div><blockquote type="cite"><div class=""><div class="js-task-list-container file-box js-gist-file-update-container" style="box-sizing: border-box;"><form accept-charset="UTF-8" action="https://gist.github.com/brentdax/c580bae68990b160645c030b2d0d1a8f/file/4d3f1f9e260a8e0e307bdda2c8e8ac8b2c9330a0" class="js-comment-update" data-form-nonce="768fbafa443af714264abba4eea7aa4cf85687c1" data-remote="true" method="post" style="box-sizing: border-box;"></form></div></div></blockquote></body></html>