Ed,

My programming days was more in the past, but I would argue that 
tiddlywikis approach is different for a fundamental reason of architecture. 
If you were to build something similar in any language you would have to 
ensure the following and it would complicate the program massively;

   - Cause all and any change in the whole solution to flow through 
   immediately to all references to that changed item
   - Render all visible objects when a change occurs but do so efficiently, 
   including dealing with potential loops
   - Allow the transclusions of transclusions etc... to work and be 
   reliable and avoid loops.
   - Now wrap the vast majority of this is an environment that is somewhat 
   accessible to almost everyone 
   - Create not just an application but a platform which can be used to 
   design and document itself.

In the face of these facts it is my option tiddlywiki does the best job I 
have ever seen. Yes we want to improve documentation and teach the concepts 
effectively to improve ease of adoption and share the concepts.

TiddlyWiki is not just a non-trivial Quine but a Quine platform.

Regards
Tones

On Thursday, 1 October 2020 01:53:24 UTC+10, Ed Heil wrote:
>
> As a programmer myself, I would agree agree that tiddlywiki doesn't let 
> you exploit your existing programming knowledge very much at all.  It's 
> very different from most programming environments, in that it's almost 
> entirely declarative, it operates by transforming an underlying series of 
> entities which are a superset of HTML; it has several different "syntaxes" 
> that are appropriate in different contexts and interact in sometimes 
> unexpected ways, or require unexpected means to make them interact...  
> There's just not much resemblance to the kind of programming most people 
> do, even most web developers.
>
> You kind of have to throw away everything you know about programming and 
> accept that this system operates on its own terms and in its own context, 
> and your existing programming knowledge will apply only in the most general 
> ways.  (Although of course, if you have HTML/CSS knowledge, that knowledge 
> *will* apply with respect to the appearance and structure of the final 
> product of all the underlying transformation.  And if you have existing 
> Javascript knowledge and are developing a JS-based plugin, that knowledge 
> will apply -- but that's very advanced and seldom necessary.)
>
> On Wednesday, September 30, 2020 at 10:48:01 AM UTC-4 PMario wrote:
>
>> Hi folks,
>>
>> I didn't read the whole thread. Only this post and I downloaded. the 
>> "Standard Nomenclature.json" from Tony.
>>
>> On Wednesday, September 30, 2020 at 1:28:12 PM UTC+2, Bob Jansen wrote:
>>
>> The tiddlywiki wiki entry on Variables in Wikitext has the example, 
>>>
>>> <$set name=animal value=zebra> 
>>> <<animal>> 
>>> </$set>
>>>
>>
>> That's right. Consistency is an issue and we try hard to fix it. ... 
>>
>> TW documentation should consistently use double quotes. It should look 
>> like this. I'll create a PR after finishing this post.
>>
>> <$set name=animal value="zebra"> 
>> <<animal>> 
>> </$set>
>>
>> As long as there are no spaces and "special chars" quotes are not needed. 
>>
>>  
>>
>>> Your cheatsheet, which I know you passed to me before it has been 
>>> reviewed, has a similar example
>>>
>>> <$set name='var' value='Foo'> 
>>> <<taggingByVar>> 
>>> </$set>
>>>
>>
>> It's the users taste. So users can use different quotes if they want. The 
>> macro call syntax is described in the docs 
>> <https://tiddlywiki.com/#Macro%20Calls%20in%20WikiText:%5B%5BMacro%20Calls%20in%20WikiText%5D%5D%20%5B%5BMacro%20Call%20Syntax%5D%5D>.
>>  
>> The search string is "macro call"
>>  
>>
>>> Note one difference, the use of quotes around the variable name and 
>>> value attributes. So which is it, are quotes required or not? Do quotes 
>>> matter? I would assume quotes do matter and if so why does the official 
>>> documentation leave them out.
>>>
>>
>> See the link above. Quotes do matter *as soon as you have special 
>> characters* in parameter values. That's why the rule for TW PRs with 
>> documentation is: Quotes must be used. ... BUT I'm sure there are some 
>> oversights. 
>>
>> I'll post a link to the PR. If you find more problems tell me there and 
>> I'll try to fix it with that PR.
>>
>>  
>>
>>> I also assume the macro call should read <<taggingby var>> and this is 
>>> just a mistype. 
>>>
>>
>> <<taggingByVar>>  ... This is a macro call without any parameters. Macro 
>> names -- see link above.
>>  
>>
>>> But this hows that even such a simple statement's documentation is 
>>> inconsistent.
>>>
>>
>> Sure if you use different sources. Different users have different 
>> preferences. ... 
>> For single word values you'll find many of *my personal* examples here 
>> in the group without quotes, because I'm lazy. 
>>
>> *The TW docs should have them. ... If not, it needs to be fixed. *
>>
>>  
>>
>>> Now, if quotes don't matter I assume it is because no values have spaces?
>>>
>>
>> right. But as soon as you have other chars than A-Z, a-z and 0-9 you 
>> have to use quotes, even if you don't have spaces. 
>>  
>>
>>> But this is an exception rule and as we all know one exception breeds 
>>> other exceptions and soon we have so many exceptions that the only real 
>>> exception is the initial idea. In all other programming languages that I 
>>> know of, strings are quote delimited. A simple lesson learned once and 
>>> applied all over the place.
>>>
>>
>> You are right, but we can't enforce this, since TW needs to be able to 
>> work with copy/pasted html code. Browsers don't enforce those quotes, if 
>> they are not needed. They use what's intended. 
>>
>> We have
>>
>> <$list filter="[tag[x]]" /> and we can have <$list filter=<<myFilter>> /> 
>> which is a completely different thing
>>
>> The first example shows all tiddlers tagged: x
>>
>> The second example uses a filter, that is stored in a *variable *named: 
>> myFilter. A working code for the second example is: 
>>
>> \define myFilter() [tag[x]]
>>
>> <$list filter=<<myFilter>> />
>>
>> Yes ... internally macros are variables. 
>>
>>  <$list filter="<<myFilter>>" />  will be interpreted as a tiddler name 
>> <<myFilter>>, which probably doesn't make sense for most users. 
>>
>>  
>>
>>> Your cheatsheet on the <VAR> element states
>>> "Does *only* work as a *filter variable*, inside or outside a macro:"
>>> As something is either inside or outside of a macro, this should always 
>>> work as a filter variable then cause it can't be in any other state so the 
>>> statement doesn't make sense.
>>>
>>
>> A link would be nice, so others can follow. I can't comment on this one.  
>>
>> Another example, concatenation of strings. Search for concatenate in TW 
>>> documentation and you get the  tiddler, Concatenating text and variables 
>>> using macro substitution, which categorically states that the only way to 
>>> do this is to use a macro. So I used a macro. Could not get the macro to 
>>> function as expected inside a $list loop. You and Eric explained that it 
>>> can not be used this was inside a $list loop but where does it state that 
>>> in the documentation?
>>>
>>
>> YES. This is one of the biggest sins in TW docs and how TW works. It 
>> causes problems for every new user and getting it right in bigger junks of 
>> code is hard, even for advanced users. .. I do have an idea to solve it, 
>> but not enough "pain" / time to fix it. 
>>
>>  
>>
>>> Many of the examples in the TW documentation use what appears to be a 
>>> macrocall of some sort to perform the example. So you cannot see the actual 
>>> statements used, you can only see the result of the macrocall. Not very 
>>> helpful really is it. Why not just use simple statements that anyone can 
>>> follow after all we are after a real example to see how things are done.
>>>
>>
>> I don't know exactly, what you mean here. Can you provide a link? ... I 
>> think I know what you mean, but I'm not sure. 
>>
>>
>> As for referencing values inside tiddlers, it seems there are many 
>>> possibilities involving various configurations of 
>>> quotes/brackets/braces/underscores. Why is there not a single method of 
>>> referencing content?
>>>
>>
>> A single method wouldn't be enough. ... But there could be less. TW 5 
>> Version 1 aka: V5.1.0 had less possibilities. Especially filters [1]. But 
>> you probably wouldn't want to use it, because it can't do what you want. 
>> There have been 30 widgets, with about half the functionality.
>>
>> Eric, in an earlier email, described it as the calling context's problem 
>>> to work out what is required. Yet in all other programming languages that I 
>>> have used over the 40+ years of my programming, referencing a variable is 
>>> always the same in a particular language, it is not dependent on the 
>>> calling content, nor is it dependent on how it is being used, it is defined 
>>> in the grammar of the language. 
>>>
>>
>> IMO that's not true. Variables do have a scope. They can be local and 
>> global. They can be referenced by name or as a pointer with a different 
>> name. ... And so on. 
>>
>> With TW we also need different ways to reference tiddler content and 
>> variables. ... The problem may be, that these syntax elements look very 
>> similar. 
>>
>> It's getting more complex if we want to use it within a filter 
>> expression. 
>>
>>
>> Now maybe this is an attribute of web applications. Maybe it is the 
>>> result of organic development as Atro states. Whatever it is, it is bloody 
>>> difficult to grasp and so becomes very frustrating. 
>>>
>>
>> Thank you for discussing your problems. ... Others would have thrown the 
>> whole thing away. You started a discussion, so there seems to be something, 
>> that you like. 
>>
>> You are right. Frustration is a topic at the beginning. .. Be assured you 
>> are not the only one, that felt that way. ... Be assured, I sometimes felt 
>> stupid, but I'm sure I'm not ;)
>>
>>  
>>
>>> My development progress at this stage is a single wikitext statement at 
>>> a time involving much input from the helpful people on this group.Each 
>>> time, I learn a bit more but applying that learning quickly fails with the 
>>> next statement.
>>>
>>> Your email to Atro and I asks, "perhaps you can't see the logic yet"
>>>
>>
>> Yea. The learning curve is steep, but IMO it's worth it. 
>>  
>>
>>> Too right! I don't see any logic yet. 
>>>
>>
>>  
>>
>>> I have studied your cheatsheet and the references it makes to others' 
>>> work as well as various emails from Eric and the Tiddlywiki documentation 
>>> and I still don't see any logic in it.  Perusing the emails on this list 
>>> indicates I am not the only one and there seems to be some recognition that 
>>> this is a real problem for TW uptake.
>>>
>>
>> Right.
>>  
>>
>>> Someone earlier suggested I contribute to the documentation but I don't 
>>> understand enough to be able to do that. Any contribution I could make 
>>> would, right now, be wrong, misleading and totally misunderstanding of the 
>>> design philosophy behind TW.
>>>
>>
>> You are contributing already! ... For us it is important, that new users 
>> tell us their problems. That's the only way we can fix them. 
>>  
>>
>>> I am continuing to use TW for my web app but at some stage will have to 
>>> make the decision as to whether it is worth my time and effort to continue. 
>>> I feel TW has a great potential but believe the development side needs to 
>>> be addressed.
>>>
>>  
>>
>>> I am nearly 60% way through another TW app that simple involves my 
>>> editing content and this is working well and is getting welcome acceptance. 
>>> http://cultconv.com/English/Conversations/MacQueen_Mary/TiddlyWiki/index.html
>>>  
>>> <http://www.google.com/url?q=http%3A%2F%2Fcultconv.com%2FEnglish%2FConversations%2FMacQueen_Mary%2FTiddlyWiki%2Findex.html&sa=D&sntz=1&usg=AFQjCNEEoEr99CR9EjuHe2lIQJjBMWEo_g>.
>>>  
>>> FYI, for this application, I have created a Filemaker Pro database into 
>>> which I type the various content elements and then generate the required 
>>> Wikitext which I then cut and past into the appropriate tiddler. This has 
>>> proved very efficient over typing directly into TW. 
>>>
>>
>> Nice example!
>>  
>> Hope that helps a little bit.
>>
>> have fun!
>> mario
>>
>> [1] TiddlyWiki5 Version 1 --- 
>> http://tw5-1-0.tiddlyspot.com/#FilterOperators  just to see the 
>> differences ;)
>>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/01601d61-5323-4d80-bcae-80c318a4f715o%40googlegroups.com.

Reply via email to