On Thursday, January 4, 2018 at 8:56:29 PM UTC+1, Evan Balster wrote: > > there is caching in the core - see 'getCacheForTiddler' >> > > Haha, I almost bit my tongue when I sent that E-mail — I was aware of the > cache mechanism but hadn't seen that it was implemented for parse trees as > well. > > Trouble is, transclusions *don't* use the parse tree cache. They call > parseTextReference, which parses the transcluded tiddler with the current > ruleset. Part of the trouble with implementing a parse-caching > optimization is that the context where the tiddler is transcluded might > define different parse rules, resulting in a different parse tree for that > context. As noted by other users > <https://groups.google.com/forum/#!topic/tiddlywiki/eQRf8Wun3Zo>, > however, this "feature" can be unexpected or undesirable. >
if the transclusion is for a 'text' then parseTextReference calls parseTiddler which uses the caches. > > On Thursday, 4 January 2018 13:09:18 UTC-6, BJ wrote: >> >> >> >> On Thursday, January 4, 2018 at 7:48:00 PM UTC+1, Evan Balster wrote: >>> >>> Hey, all — >>> >>> I have a plugin that defines parametrized tiddlers as components, there >>>> is a demo here: >>>> >>> >>> Neat! So under the hood this is functionally equivalent to >>> <$vars><$transclude/></$vars> right? >>> >> >> that correct -its to avoid the parsing of macros, but also to make >> wikitext components to be more like equivalents to widgets. >> >>> >>> What I'd really like to see in the future is a "parse-tree cache" for >>> more efficient transclusions. >>> >> >> there is caching in the core - see 'getCacheForTiddler' >> >>> >>> >>> ...Turning to another aspect of TWX, my idea is that it should be >>>> written in C, and compiled to WebAssembly... >>>> >>> >>> ...I'd love to go with rust here... >>> >>> >>> Hmmm... I've got thoughts on this but I'd rather start a new thread so >>> this one doesn't veer off-topic. >>> >>> >>> On Thursday, 4 January 2018 06:20:18 UTC-6, Jeremy Ruston wrote: >>>> >>>> >>>> IMO creating a new kernel should use a language that was designed to >>>> create kernels :) ... I'd love to go with rust here. >>>> >>>> >>>> Indeed, Rust would probably be a better choice these days. >>>> >>>> Best wishes >>>> >>>> Jeremy. >>>> >>>> >>>> Just a thought >>>> >>>> -m >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "TiddlyWikiDev" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at https://groups.google.com/group/tiddlywikidev. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/tiddlywikidev/2e218423-1c94-4f75-ad6d-784824a9b972%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/tiddlywikidev/2e218423-1c94-4f75-ad6d-784824a9b972%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> >>>> -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/tiddlywikidev. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/2bb979d0-a9f7-4846-b73f-fdca372b2ddf%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
