On Sunday, May 12, 2019, 9:16:58 AM PDT, Christof Ressi christof.ressi@gmx.at wrote:
seems like using [declare] becomes unnecessary then...>> of course I think library name prefix looks ugly, > there you have it :-) [declare -lib] is here to stay.
You absolutely have to have [declare] and strongly encourage its usage. The [declare] object hoists a message up to the top of the patch file to ensure that the declared libraries and paths get loaded *before* the rest of the patch file is evaluated. If users don't get comfortable using it to load externals then they quickly run into problems.
It also has an explicit and readable left-to-right ordering. If the user depends on implicit loading per external object box, the loading order is hidden and difficult to debug. For example, imagine an external library which adds its own external loading mechanism, like pdlua. The user better load *that* before trying to load their own pdlua-based external, otherwise it won't create. Without using [declare] for that case, a user recently concocted a dynamic-patching solution to ensure ordering.
-Jonathan