([: f g"1) is equivalent to f@:(g"1) ([: f g)"1 is equivalent to f@:g"1 which could be expressed as (f@:g)"1
Conjunctions and adverbs stack while checking for a leftmost instance (to determine where to start), this effectively reverses the right-to-left parsing order of verbs, in the context of conjunctions. It can also be expressed using parenthesis: ((f@g)"1) vs. (1 f (2 g 3)) That said, personally what I find most illuminating when reading and writing J is a focus on the underlying data. If the data does what I need it to, that is the important thing. Thanks, -- Raul On Wed, Apr 30, 2014 at 4:47 PM, 'Pascal Jasmin' via Programming < [email protected]> wrote: > the slight difference between ([: f g) and f@:g is that it is arguably > cleaner to apply an adverb to just g in the first version: > > ([: f g"1) vs. f@:(g"1) > > Overall, the point that hooks are distracting from forks is a major > hurdle, that I do not help with my proposals other than to recommend > ignoring hooks except for the dyadic case that provides an analogue to @: > > > ----- Original Message ----- > From: Raul Miller <[email protected]> > To: Programming forum <[email protected]> > Cc: > Sent: Wednesday, April 30, 2014 4:38:51 PM > Subject: Re: [Jprogramming] Simple tacit verbs problem > > ([: f g) and f@:g are already equivalent in functionality, at least in > contexts which are independent of how they are phrased. > > It might have been nice to have a third way of expressing the same concept. > This would make teaching people about J easier for those not interested in > the language and would have the added benefit of reducing the expressive > power of the language. > > But perhaps writing textbooks on interesting subjects could be a more > useful investment of time. For example, I would really like to see a > textbook on finite element analysis which centered around using J to > develop the requisite techniques. I would also like to see one written on > antenna theory. I remember in college doing some interesting work with > x-ray analysis of crystals using APL, and that was with computers far less > capable than what we have nowadays, and APL was far less capable than J is > nowadays. > > So it seems like it really ought to be straightforward to write decent > treatments of engineering topics - topics related to making things - in J. > There's also a need for other things, of course, but some things seem just > so obvious that they are aching for attention. > > Thanks, > > -- > Raul > > > On Wed, Apr 30, 2014 at 4:09 PM, 'Pascal Jasmin' via Programming < > [email protected]> wrote: > > > With the hindsight from 17 years of usage, I would > > define 2-verb trains differently, viz. > > (f g) y <-> f g y > > x (f g) y <-> f (x g y) > > > > a bit surprising to me: > > > > I agree with monad, but existing dyad hook is useful, as per yesterday's > > discussion. That proposal would make dyad equivalent to ([: f g) and > > almost equivalent to f@:g. > > > > The existing (ambivalent) hook could still be expressed by the fork ([ f > g@:]), > > but a shorter analogue to f@:g where f is the ambivalent verb rather > than > > g seems useful. > > > > > > ----- Original Message ----- > > From: Raul Miller <[email protected]> > > To: Programming forum <[email protected]> > > Cc: > > Sent: Wednesday, April 30, 2014 2:36:02 PM > > Subject: Re: [Jprogramming] Simple tacit verbs problem > > > > Also worth keeping in mind might be: > > > > http://www.jsoftware.com/pipermail/general/2006-January/026271.html > > > > "With the hindsight from 17 years of usage, I would define 2-verb trains > > differently ... " > > > > but note also > > > > http://www.jsoftware.com/pipermail/general/2006-January/026274.html > > > > "There is no intention to replace the current hook. Its use seems too > > embedded and too numerous and a change like that would be too > disruptive." > > > > Generally speaking: good documentation for code is often more important > to > > produce than the code itself, but businesses and educational institutions > > both focus on the wrong metrics, thus undercutting their short and long > > term success. J is actually incredibly good here, but of course it still > > has significant room for improvement. > > > > And, we get rough edges like this hook issue, which tend to create > problems > > and bafflement but where "fixing it" would make things worse (require far > > more explanation about why all this great code fails). > > > > It's something of a dilemma. > > > > Thanks, > > > > -- > > Raul > > > > > > > > On Wed, Apr 30, 2014 at 12:12 PM, robert therriault > > <[email protected]>wrote: > > > > > Hi Jon, > > > > > > Like so many things in J, an added character usually does make a > > > difference. That is the cost of using less to say more. :) > > > > > > In this case, I think that you have a pretty good handle on func1, so I > > > will focus on what func2 is doing. > > > > > > func2 is a hook which means that func2 5 is acting like 5((3&+) (2&-)) > 5 > > > because hooks (u v) y are the same as y( u v) y which is the same as y > u > > ( > > > v y) > > > > > > In your case func2 5 is like 5 (3&+) ((2&-) 5) same as 5 (3&+) _3 . > > This > > > is where things change up a bit because you are asking (3&+) to be > > executed > > > on _3 a total of 5 times. In other words add 3 to _3 five times and > you > > > have 15+_3 which is 12 > > > > > > I see Ian has already given some good links for further reading. It > does > > > seem confusing at first, but it is consistent and does let you do some > > > remarkable things when you get a feel for it. > > > > > > Cheers, bob > > > > > > On Apr 30, 2014, at 8:42 AM, Jon Hough <[email protected]> wrote: > > > > > > > I can't understand why > > > > func1 =. 3&+ @: (2&-) > > > > func2 =. (3&+) (2&-) > > > > > > > > give different results as mondaic verbs. > > > > func1 5 gives 0, which is what I would expect. > > > > func2 5 gives 12, which I can't understand. > > > > I would like to know what the difference is between func1 and func2. > It > > > is my understanding that for monadic verbs @: is optional, so doesn't > add > > > anything to the meaning of the whole verb. > > > > Regards. > > > > > ---------------------------------------------------------------------- > > > > 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 > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
