More actions
Attributes are triple slash annotations recognized (and sometimes inserted by) the trplkt compiler. Attributes are a compromise in the design decision of the triple script ecosystem to promote development that will scale, at the cost of making source-to-bundle transformation (and back) slightly more involved than the original conception that centered only on triplicate-forward and triplicate-reverse. The adoption of attributes comes with the caveat that further iterations on the ecosystem design will seek to minimize attributes as much as possible—opting only to use them when their absence is considered untenable.
The $path$ attribute was introduced for trplkt 0.9.9, facilitating path coherence during decompilation. In versions prior 0.9.9, trplkt doesn't recognize any attributes and relies on the aforementioned extremely straightforward but flawed approach for source transformation.
There are tentative plans to add attributes for other purposes, like libpacks and explicitly identifying whether is a "system support module" (e.g. by decorating it $unsafe$; in SystemA parlance, the SystemB
and SystemC
modules would be decorated as such).