> > 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. 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/c4c29aec-9bcb-4940-88ac-e1f860bdb864%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
