<html><head></head><body><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div id="ydpf3bea5ccyahoo_quoted_7975943600" class="ydpf3bea5ccyahoo_quoted">> On Sunday, May 12, 2019, 9:16:58 AM PDT, Christof Ressi <christof.ressi@gmx.at> wrote:
                
                <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;"><div><br></div>
                
                <div><div id="ydpf3bea5ccyiv4979542546"><div><div style="font-family:Verdana;font-size:12.0px;"><div>
<div>>> seems like using [declare] becomes unnecessary then...</div>

<div>>> of course I think library name prefix looks ugly,</div>

<div> </div>

<div>> there you have it :-) [declare -lib] is here to stay.</div><div><br></div><div>You absolutely have to have [declare] and strongly encourage its usage.</div><div><br></div><div>The [declare] object hoists a message up to the top of the patch file to ensure <br></div><div>that the declared libraries and paths get loaded *before* the rest of the patch file <br></div><div>is evaluated. If users don't get comfortable using it to load externals then they <br></div><div>quickly run into problems.<br></div><div><br></div><div>It also has an explicit and readable left-to-right ordering. If the user depends on <br></div><div>implicit loading per external object box, the loading order is hidden and difficult to <br></div><div>debug.</div><div><br></div><div>For example, imagine an external library which adds its own external loading <br></div><div>mechanism, like pdlua. The user better load *that* before trying to load their <br></div><div>own pdlua-based external, otherwise it won't create. Without using [declare] for <br></div><div>that case, a user recently concocted a dynamic-patching solution to ensure ordering.<br></div><div><br></div><div>-Jonathan<br></div></div></div></div></div></div>
            </div>
        </div></div></body></html>