RE: CHANNEL. More thinking about the future of the space. ... [ Word Count: 1.250 ~ 5 PAGES | Revised: 2018.2.9 ]

You are viewing a single comment's thread from:

CHANNEL. More thinking about the future of the space. ... [ Word Count: 1.250 ~ 5 PAGES | Revised: 2018.2.9 ]

in channel •  6 years ago 

Will have to write an essay regarding syntax as important.

Consider that most languages work only by processing and parsing LR.

How then does a developer write nested functions? For example? Even if treating the B(C(D)) as a string in A(B(C(D))). A block box, not looked inside. Because if the parsing is not outermost left to outermost right but next nearest unambiguous bracket pattern match, then we find A(B(C(D))) being read as A(B(C(D) and )). Instead of breaking to string B(C(D)) and A( ).

We want to avoid function(arg1)) or function(arg1))))) or etc, but "function(arg1))))" or (function(arg1)))) is fine.

Because we should not be looking inside a string. Don't even know at that point that string contains a function or not. Rewrite always possible before code run or not. Only next operation looks deeper. And each operation looks at most one level deeper. In most cases. So all is predictable despite never knowing in advance, due to randomness and heuristics and learning, what operation will be run on some given.

Even for ordinary neural net, imagine neural net learns and decides not to classify, but decides which function to apply to a classified input from a set. We cannot anticipate what it will do, so we put type check inside functions, never check in advance. Cannot predict what it will decide.

It may be that inside is no valid syntax at all.

For example ( A ( B}])]]] ) )B}])]]] is not valid anything. But at the moment, this is just text, "A ( B}])]]] )" so it gets handled by any operation that works on level of " " but not deeper, and if anything deeper matters, it will check and fail or check and move on at that point.

For example, operation987 may simply remove ( ) outermost and then delete all but the first 3 characters and append a ) on the right then run that function, which is valid A(B). When loaded with gibberish ( A ( B}])]]] ) ). Since we cannot know what operation will be run in advance we often just do generic extra ( ) to bypass checking at that point. (A check or else a rewrite will obviously occur at some point. Just not at this point.)

So ideally we want (A(B)) to be same as "A(B)" but still written (A(B)) so that a generic outermost bracket stripper or constructor can be used in random combinations with words of this language to build larger or shorter words.

If several different bracket strippers or constructors because several different brackets, we don't know which will be encountered so unnecessarily many combinations of bracket transformers and arguments randomly passed them as data to transform will fail. And this would be unpredictable. Yet if LR interpreting of words, not outermost, next outermost, we have the issue where different brackets must be used.

We need abstract indices. Like in SNOBOL we can use spaces to delimit indices or labels from words they label.

(765 X (bing (80 Y (81 (Z (123 0,1,2,3 (ding 4,5,6 dong) 123) 81) 80) bing) 765) is one possibility.

When mismatch inside at least one bracket, not right bracket, this and deeper are taken as if type "...". As if strings. Which indeed is what they probably are. Notice also that out of order and mixed tags and not place notation is used. Place notation is just one possibility but uses too much syntax were that much syntax is not required. Certain words would fail to be used in contexts where they should not fail to be used, where they are appropriate for the context in what matters, if other symbols used.

Meanwhile functions defined for (A ... A) and if (B ... B) passed to a function defined for (A ... A) it works all the same, as if each A were a B. Only difference, what is distinguishable, is significant. And number of such differences is significant.

System begins leftmost in a word, reads to the right, after passing (X continues until it gets to X) and meanwhile sniffs for ( and if any such thing makes a note and stops sniffing, and treats (X N X) as an ("N") in a system that parses outermost bracket to next outmost bracket and left to right, not just only left to right.

If any note is made, it loops. Until no further note is made, and there is a rule such that if (T does not find T) then it treats it all as a string and loops no further. A string can be anything like "Ab Cd !!!)))???", so like (Ab Cd !!!)))???), so like (5 Ab Cd !!!)))??? 5) and yet be valid and legal in that language.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!