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 tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/32ba5016-25ab-4e67-8b45-43e4aa104f12n%40googlegroups.com.

Reply via email to