Hi Reinhard

Thanks for introducing the topic, as you can see it's an area of interest 
for a lot of us.

I had to search the docs to see whether I had used the terms 
transcluder/transcludee; I wouldn't have been surprised to find that I had 
because that terminology comes naturally to a programmer, as you note.

Generally, I rather relish introducing neologisms: it can be a powerful way 
to give people a conceptual blank slate on which to build meaning. The 
canonical example is the term "tiddler", which I started using when writing 
the code of the very first version of "TwiddlyWiki" (as it then was). I 
wanted to be able to write clear, readable function names but found that 
calling tiddlers conventional words like "node" or "object" gave rise to 
generic method names that were already overloaded with unwanted meanings. 
Introducing the term made the code cleaner, and so I soon started using it 
in the user interface too.

The trouble is that we have a very limited budget for new terms; each one 
acts as a little barrier for new users. So I try to avoid making neologisms 
unless absolutely necessary. And if there's an existing word that's a good 
fit then I try to reuse it (e.g. "plugins").

In this case, I think I've got away without these terms because of a twist 
in the way that I think about things: although transclusion always involves 
a transcludee, there isn't necessarily a transcluder. The thing doing the 
transcluding might be a dynamically constructed macro that doesn't have a 
1:1 relationship with a tiddler. Now, I appreciated that that is a rarified 
way of looking at things but it still guides me in writing the docs.

Anyhow, lots of interesting stuff in this area, thanks for bring it up.

Best wishes

Jeremy.



On Sunday, January 16, 2022 at 4:51:50 PM UTC reinhard...@gmail.com wrote:

> @TiddlyTweeter
>
> " Whom are you thinking needs the "*caller*" / "*callee*" differentiation"
>
> In the context of TiddlyWiki, nobody! I put it in just as an another 
> example for the "er"-"ee"-relationship (see for instance Suffixes -er and 
> -ee <https://www.bespeaking.com/suffixes-er-and-ee-which-is-which/>). It 
> is useful as a common concept or abstraction to express that seemingly 
> non-related things (i.e. on process calling another, one function calling 
> another, one person calling another) have the same structure, and that 
> aspects that pertain to one instance of this concepts might be 
> transferrable to another instance of this concept (i.e. to save work).
>
> "Certainly any idea you *have* to be a full-on programmer to deep tweak 
> TW would be wrong."
>
> I don't know what you mean by "full-on programmer". TwiddlyWiki uses 
> several well established programming and 'page-description' languages 
> (HTML, CSS, Javascript, Markup) plus its own wikitext syntax for macros, 
> pragmas, etc. The mastery of each of these requires some amount of time and 
> practice. I guess, you didn't start out with transclusions and tweaking 
> TiddlyWiki when you first started using it?  Even if you don't consider 
> yourself a 'programmer', neverless programming is what you are doing when 
> you tweak TW.  But that's just semantics, nothing productive...
>
> So the lore, wisdom, principles, etc. of the programming community as a 
> whole might be applicable to TW as well. For instance, the general 
> programming principles, that function should do one thing and one thing 
> only or that a function should be as small as possible, apply to macros as 
> well.
>
> Have a neice evening,
> -Reinhard
>
>
>
>
> On Sunday, January 16, 2022 at 3:11:45 PM UTC+1 TiddlyTweeter wrote:
>
>> reinhard:  I have an extensive programming background*. *In Programming 
>> there it is never a question if a function is the *caller* or the 
>> *callee*, even with recursive functions. And in programming *recursion* is 
>> an advanced topic, that is definitely not for neophytes.
>>
>> Right. Sort of. BUT in TiddlyWiki many of the skilled tweakers are *not 
>> *professional 
>> programmers. That is part of it's character--practically it is used by folk 
>> of many kinds. Regarding the OP, I think it will appeal to the "hobbyist 
>> jacker" too ...who is the neophyte+. Certainly any idea you *have* to be 
>> a full-on programmer to deep tweak TW would be wrong. The whole thing we do 
>> here is testament that it isn't. 
>>
>> So in that context it might be worth revisiting your interesting OP. 
>>
>> Whom are you thinking needs the "*caller*" / "*callee*" differentiation?
>>
>> Anyway, happy today
>> TT
>>
>> On Sunday, 16 January 2022 at 14:06:45 UTC+1 reinhard...@gmail.com wrote:
>>
>>> @TiddlyTweeter
>>>
>>> " Overall I like where you coming from."
>>> And what might this be?
>>>
>>> *"Broadly, in documents, how do we explain complex nested transclusion 
>>> to neophytes?"*
>>>
>>> *I wouldn't even try!* IMHO, *recursion* and *complex nested 
>>> transclusions* are topics for people that are no longer neophytes.
>>>
>>> I'm have an extensive programming background*. *In Programming there it 
>>> is never a question if a function is the *caller* or the *callee*, even 
>>> with recursive functions. And in programming *recursion* is an advanced 
>>> topic, that is definitely not for neophytes.
>>>
>>> Have a nice day!
>>> -Reinhard
>>>
>>> On Sunday, January 16, 2022 at 1:01:39 PM UTC+1 TiddlyTweeter wrote:
>>>
>>>> Ciao reinhard,
>>>>
>>>> Nice post! To get to the grist...
>>>>
>>>> reinhard: "there is never a doubt which tiddler is which"
>>>>
>>>> Ah! There is! In your own OP you sensibly want to differentiate "der" 
>>>> from  "dee".
>>>> My concern is for the Virgin User who likely has no idea what 
>>>> *recursion* is; how would they know an "er" from an "ee"?
>>>>
>>>> *Broadly, in documents, how do we explain complex nested transclusion 
>>>> to neophytes?*
>>>>
>>>> This is just a thought. 
>>>> Overall I like where you coming from.
>>>>
>>>> Best, TT
>>>>
>>>> On Sunday, 16 January 2022 at 11:56:49 UTC+1 reinhard...@gmail.com 
>>>> wrote:
>>>>
>>>>> @TiddlyTweeter
>>>>>
>>>>> *"No, it wouldn't.* The residual issue is* positional reference. *A* 
>>>>> transcluder *is* relative *to a *transcludee.*
>>>>>
>>>>> Yes, of course. That' the whole crux of the matter. Any tiddler can 
>>>>> take on both the role of a transcluder and a transcludee. It depends on 
>>>>> the 
>>>>> context. But given two tiddlers with a transclusion relationship there is 
>>>>> never a doubt which tiddler is which.
>>>>> "Without positional referencing you would not know what is transcluded 
>>>>> from what is transcluding."
>>>>>
>>>>> Its not the concern of the *transcluder* if the *transcludee* 
>>>>> produces its content by nested transclusions or not. So positional 
>>>>> referencing is not needed.
>>>>>
>>>>> "FYI, I think your basic split in terms is useful, but you'll need a 
>>>>> *third 
>>>>> term* too to help *explicate nesting*."
>>>>>
>>>>> Why? We say transclusions are *nested*, if a *transcludee* (a 
>>>>> transcluded tiddler) in turn transcludes another tiddler and so takes on 
>>>>> the role of a *trancluder* relative to this thidd tiddler.
>>>>>
>>>>> On Sunday, January 16, 2022 at 11:36:55 AM UTC+1 Reinhard Engel wrote:
>>>>>
>>>>>> @Mat
>>>>>>
>>>>>> Never mind! 
>>>>>>
>>>>>> Just image you always have to say "the employing person" vs "the 
>>>>>> employed person". Anyway, I wanted to add some information about 
>>>>>> transclusions into my wiki and looked for some suitable tiddler titles. 
>>>>>> *TheTranscludingTiddler* and *TheTranscludedTiddler* seemed to 
>>>>>> cumbersome. So I chose the suggested terms. They work for me, and I 
>>>>>> thought 
>>>>>> they might be useful in general.
>>>>>>
>>>>>> Thanks for your remarks!
>>>>>>
>>>>>> -Reinhard
>>>>>>
>>>>>> On Sunday, January 16, 2022 at 11:21:10 AM UTC+1 Reinhard Engel wrote:
>>>>>>
>>>>>>> @TiddlyTweeter
>>>>>>>
>>>>>>> You wrote:
>>>>>>>
>>>>>>> "Part of the issue* though* is that in TW "transclusion" is 
>>>>>>> potentially *radical*. Transclusions can be nested infinitely. So, 
>>>>>>> in that context, the terms "Transcluder" / "Transcludee" would not be 
>>>>>>> so 
>>>>>>> transparent in actual use"
>>>>>>>
>>>>>>> If transclusions are nested, each intermediate tiddler takes on both 
>>>>>>> the roles *transcludee* and *transcluder*.
>>>>>>> The relationship is between the transcluder and the transcludee is 
>>>>>>> strictly binary. The transcluder doesn't and shouldn't care about how 
>>>>>>> the 
>>>>>>> transcludee produces its content.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/27273d4e-1c2c-4850-abe7-75d6492d3e2cn%40googlegroups.com.

Reply via email to