I believe it could also be expressed as u1 @: u2 @: u3 @: u4 @: ]"_
Cheers, bob > On Aug 3, 2016, at 12:18 PM, Erling Hellenäs <[email protected]> wrote: > > As far as I can understand the pattern of the strawman, [: u1 [:u2 [: u3 [: > u4 ] , is the only expression in tacit J with the meaning of 4 monadic verbs > ux in sequence. All other similar expressions have a more complex meaning. > Correct me if I'm wrong. /Erling > > On 2016-08-03 20:31, Erling Hellenäs wrote: >> Here the scientific view. It's an old mail which got "lost" when I did >> Reply-to-list. It does not fit perfectly in this discussion. >> >> Passive and Reflexive (~) are of course also used to get the right argument >> to the right function, giving even more complex ways to express the most >> simple thing. >> That constants and even string constants have to be considered as constant >> functions is also very peculiar, I think. That this is covered up by in some >> cases writing them as normal constants makes it even more peculiar. >> This adds to the total messiness of tacit J, at least in my eyes. >> We removed not only the name of data types/variables but also all references >> to them, except for Left and Right which are references to noun arguments. >> Still these same data types still exist and most often are the real >> arguments. Functions still are not primary citizens of the language. Tacit >> expressions can be function argument to built in adverbs and conjunctions. >> There is a macro-like way in which "adverbs" and "conjunctions" can be >> defined by the user but where macro expansion takes them away before >> execution. >> Well, and data does not have a type in J, so data in tacit J has most often >> neither a name, nor a type nor any reference to it whatsoever. It is >> something the reader by rational thought has to construct in his mind when >> he tries to analyze expressions. >> Here we can read about how efficient humans are at rational thought: >> - Cognitive Miser. http://tinyurl.com/h5e8aym<https://t.co/ug1YbAdZIK> >> - How many objects can you hold in mind simultaneously? >> <https://t.co/tOfF8fsfvT>http://tinyurl.com/hr37f59 >> There is a science called Cognition which describes human cognitive >> capabilities in detail. >> To be able to read something like this we have to remember sequences and >> patterns and what they do. When we express the same thing in many ways this >> gets very difficult. Like if you have hundreds of words for every concept. >> When we fail we have to resort to rational thought, which in the best case >> is very slow, often fails and often is far over the capacity of the >> individual. Or we have to debug the expressions at a terminal, which is even >> slower. >> >> /Erling >> >> On 2016-08-03 17:04, Erling Hellenäs wrote: >>> See comments below. >>> >>> >>> On 2016-08-03 15:47, Marc Simpson wrote: >>>> On Wed, Aug 3, 2016 at 1:21 AM, Erling Hellenäs >>>> <[email protected]> wrote: >>>>> My article contains some points supposed to show that the tacit J syntax >>>>> is >>>>> a "total mess of utter complexity". >>>> This is the crux of the discussion, I think. It's one thing to argue >>>> that tacit expressions can be confusing as they involve rewriting >>>> equivalent explicit phrases (which is a fair point), it's another to >>>> then ignore their utility and expressiveness in a dismissive way (both >>>> here and in your article). >>> The reason is simply that I didn't find any significant advantages of the >>> tacit J notation compared to the modified explicit J notation. If I knew of >>> any such significant advantage I would have included it. >>> >>> The tacit J notation gives some support for the imagination when you do >>> math work with functions. I did not consider this a significant advantage. >>> >>> I think I have understood the tacit J notation. There is another article >>> where I describe this: >>> https://erlhelinfotech.wordpress.com/2016/05/30/j-a-functional-language/ >>> >>> If there is any such significant advantage, please tell. >>>> >>>> Put differently: it's great to see your work in this area (thanks for >>>> sharing) but the tone strikes me as problematic if you're actually >>>> looking to invite constructive comments. >>>> >>>> I can appreciate your focusing on regular parsing rules (as per K, Q >>>> and Dyalog d-fns) but stating things like "The tacit J syntax is a >>>> total mess of utter complexity" just seems lazy. Further, as Raul >>>> points out, [: – [: – [: – [: – ] is a rather boring example (and yes, >>>> a strawman). To me this scans as: >>>> >>>> "Hey, look how terrible Your Favourite Language L is, where to raise >>>> something to the power of 5 you have to do: X * X * X * X * X" >>>> >>>> never mind that there's an exponentiation operator; move along, move along. >>> Maybe we can discuss facts and allow me to have the feelings I have and >>> express them? >>> >>> I started working with APL 1979. I have been hanging out in the J forum for >>> years. Now I spent 2 months writing a different J. Believe me, I am not >>> your enemy, I only have a strong will to change things for the better. >>> >>> I once wrote down all combinations of two and three verbs which are >>> commonly used. It was a lot. I guess there is between 50 and 100 different >>> ways to get the right argument to the right function in a hook and a fork. >>> >>> I will add a more scientific view to this point in some hours. >>>> >>>> More constructively: See Roger's comments on whether J should have >>>> provided a hook conjunction rather than the train syntax we have now; >>>> to me, that's a more interesting discussion and touches on some of >>>> your criticisms of length, arity, etc. >>> Can you provide a link? >>>> >>>> Personally I think forks are one of the most important ideas in J. >>> I describe the fork in a different way in my article than how it is >>> normally described. I describe one of the differences between explicit and >>> tacit J as taking away the default composition operation between two verbs. >>> Any opinions about this description? >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
