Attributes: Difference between revisions

From triplescripts.org wiki
Content added Content deleted
(the parser actually recognizes attributes in the source text, so in theory they could be included there--at this time, though, the only supported attributes *do* get inserted)
m (fix typo; "he" to "the")
 
Line 1: Line 1:
'''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 he 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.
'''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.
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.

Latest revision as of 19:24, 21 June 2021

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).

Cookies help us deliver our services. By using our services, you agree to our use of cookies.