temp=: 2 : 0 [: (v^:_1@(4 : 'y`:6 >x')"0 m $~ $) <@v ) atop=: 2 : 'm temp (v :. ])'
under=: 2 : 0 m temp v : ([: (v^:_1@(4 : 'y`:6&>/x')"0 m $~ $) ,&<&v) ) compose=: 2 : 'm under (v :. ])' rank=: 2 : 'm atop (]"n)' ‘rank’ is “ as Henry suggested for gerunds, and I propose extending this behaviour to @, &, and &. as described above as well. In particular, v0`v1`…`vi under > <-> v0@(0{::]) ; v1@(1{::]) ; … ; vi(i{::]) extended cyclically: M=: i.3 4 5 (,: -`j. under >) ;/M ┌───────────────────┬────────────────────────┬───────────────────┐ │ 0 1 2 3 4 │20 21 22 23 24 │40 41 42 43 44 │ │ 5 6 7 8 9 │25 26 27 28 29 │45 46 47 48 49 │ │10 11 12 13 14 │30 31 32 33 34 │50 51 52 53 54 │ │15 16 17 18 19 │35 36 37 38 39 │55 56 57 58 59 │ ├───────────────────┼────────────────────────┼───────────────────┤ │ 0 _1 _2 _3 _4│0j20 0j21 0j22 0j23 0j24│_40 _41 _42 _43 _44│ │ _5 _6 _7 _8 _9│0j25 0j26 0j27 0j28 0j29│_45 _46 _47 _48 _49│ │_10 _11 _12 _13 _14│0j30 0j31 0j32 0j33 0j34│_50 _51 _52 _53 _54│ │_15 _16 _17 _18 _19│0j35 0j36 0j37 0j38 0j39│_55 _56 _57 _58 _59│ └───────────────────┴────────────────────────┴───────────────────┘ Louis > On 06 Aug 2017, at 19:31, Jose Mario Quintana <jose.mario.quint...@gmail.com> > wrote: > > " > On my wish list would be something similar for the “each" adverb. While > writing > tacit code I very often find myself writing > > u@(0{::]) ; v@:(1{::]) etc. > " > > Louis, I find the points you raised very interesting and they might > influence Jx v1.1. > > Meanwhile, if you really very often would like to produce, > > v0@(0{::]) ; v1@:(1{::]) ; v2@:(1{::]) ... > > given v0, v1, v2, ... You could write an (explicit?) adverb, Each for > instance, such that, for example, > > v0`v1`v2`v3 Edge > v0@:(0&({::)) ; v1@:(1&({::)) ; v2@:(2&({::)) ; v3@:(3&({::)) > > I prefer, of course, > > [: v0 v1 v2 v3 Each > v0@:(0&({::)) ; v1@:(1&({::)) ; v2@:(2&({::)) ; v3@:(3&({::)) > > It was very easy to write Each tacitly in Jx particularly because I had > seen similar patterns before. If you need often the cyclical feature then > I would expect it to be a matter of adding a minor complication. > > Do you really need the cyclical feature? > > You might also like to read the oblique (/.) entry in the Dictionary and > other sources; it could help. > > > On Fri, Aug 4, 2017 at 1:03 AM, Louis de Forcrand <ol...@bluewin.ch> wrote: > >> I quite like this idea. It’s unfortunate that m”n was previously defined >> differently, >> but as you say conflicts would probably be nonexistent, and I’ve often >> wanted >> to apply one verb to the first element of an array, another to the second, >> etc. >> >> On my wish list would be something similar for the “each" adverb. While >> writing tacit code I very often find myself writing >> >> u@(0{::]) ; v@:(1{::]) etc. >> >> and the readability / terseness of >> >> u`v&.> >> >> would be valuable IMO (albeit perhaps not easy to incorporate correctly >> into the language). >> >> >> I was just about to send this email, but then I thought of this: >> >> For adverbs / conjunctions like @, &, or &. which depend on the rank of >> their right argument (unlike @:, &:, &.:), a gerund left argument could be >> extended cyclically over each item of the right argument’s result. Not only >> would that check one item off my wish list, but if gerund m in m”n proves >> to >> be unacceptable, it could be replaced by >> >> m@(]”n) >> >> This would create no incompatibilities apart from code relying on errors >> thrown by those operators. >> >> Louis >> >>> On 03 Aug 2017, at 01:51, Henry Rich <henryhr...@gmail.com> wrote: >>> >>> The argument for gerund"n is this: >>> >>> All partitioning modifiers (/. / ;.n etc,) support cyclic gerunds. The >>> anomalous case is " which is the most basic partitioning modifier of all. >>> It should have been defined to support cyclic gerunds. >>> >>> The proposal is to put it right without breaking any code. m"n when m >>> resembles a gerund and n is not _ will be very rare, perhaps nonexistent, >>> in actual code. For new code, m"_"n will work for any n. >>> >>> Henry Rich >>> >>> On Thu, Aug 3, 2017 at 3:07 AM, 'Pascal Jasmin' via Programming < >>> programm...@jsoftware.com> wrote: >>> >>>> the best solution I've seen, >>>> >>>> >>>> isgerund =: 0:`(0 -.@e. 3 : ('y (5!:0)';'1')"0)@.(0 < L.) :: 0: >>>> >>>> >>>> tests that each "box" can be passed to 5!:0 without error. >>>> >>>> ________________________________ >>>> From: Bill <bbill....@gmail.com> >>>> To: "programm...@jsoftware.com" <programm...@jsoftware.com> >>>> Sent: Wednesday, August 2, 2017 9:01 PM >>>> Subject: Re: [Jprogramming] Jx version 1.0 release >>>> >>>> >>>> >>>> J interpreter must know when a noun is a gerund, so is it possible to >> add >>>> a new primitive to test for gerund? Or is there already J script to test >>>> for gerund? >>>> >>>> Sent from my iPhone >>>> >>>> On 3 Aug, 2017, at 3:36 AM, Henry Rich <henryhr...@gmail.com> wrote: >>>> >>>>> I expect to make some more improvements to dyad u"n, and eventually to >>>>> rewrite the monad to match the dyad. My availability to work on this >>>> will >>>>> be intermittent for a while. The 8.06 code as is works, and fixes a >>>>> long-standing bug reported by Martin Neitzel. >>>>> >>>>> I have suggested using m"n, where n is not _, to implement a cyclic >>>> gerund >>>>> m. If m doesn't look like a gerund, it would be treated as a simple >>>> noun. >>>>> While this is not strictly compatible, I think it very unlikely that it >>>>> would break any existing code. I think m"n was wrongly defined and >> that >>>>> this is the correct definition. My opinion is not universally shared >> so >>>> I >>>>> haven't acted on it. >>>>> >>>>> Henry Rich >>>>> >>>>> On Wed, Aug 2, 2017 at 5:03 PM, Thomas Costigliola <fo...@iocane.net> >>>> wrote: >>>>> >>>>>> You can try removing the conditional statement enclosing that line, >> but >>>>>> for now I would say the patch is broken under Clang. Since the rank >> code >>>>>> was completely rewritten in J805 and J806 and ":: is based on the J804 >>>> rank >>>>>> with some unfinished updates Henry was working on, the real solution >> is >>>> to >>>>>> rewrite ":: based on the new rank code. But that should wait until the >>>> code >>>>>> is stable. Does anyone anticipate more changes? >>>>>> >>>>>> On a more philosophical note, ":: implements gerund left arguments >> that >>>>>> apply to the items cyclically. The reason for adding a new primitive >> and >>>>>> not extending ": is because it breaks using ": to define constant >>>>>> functions. If someone has any ideas to make them play nicely together >>>> then >>>>>> they can be merged into a single primitive. The issue is that there is >>>> no >>>>>> distinction between a noun and gerund. >>>>>> >>>>>> Regards, >>>>>> -Thomas >>>>>> >>>>>> >>>>>> On 08/02/2017 11:52 AM, bill lam wrote: >>>>>> >>>>>>> Yes, I use Clang and have -Werror -Wextra in CFLAGS. >>>>>>> Sometimes vs2013 is much less tolerant. >>>>>>> >>>>>>> Ср, 02 авг 2017, Thomas Costigliola написал(а): >>>>>>> >>>>>>>> That looks like Henry's code taken from cr.c at some older version. >> It >>>>>>>> compiles fine for me in GCC and Visual Studio 2013. It is in the >>>>>>>> implementation of "::, which seems to be working in my tests, so >> that >>>>>>>> code >>>>>>>> never gets hit. Are you using Clang? It's much less tolerant of code >>>> like >>>>>>>> that. >>>>>>>> >>>>>>>> Regards, >>>>>>>> -Thomas >>>>>>>> >>>>>>>> On 08/02/2017 11:21 AM, bill lam wrote: >>>>>>>> >>>>>>>>> When I tried to compile, but this line in best.c failed. >>>>>>>>> >>>>>>>>> *((I*)0)=0; // scaf >>>>>>>>> >>>>>>>>> and I can not understand its intention, access to memory >>>>>>>>> address 0 should cause segfault. >>>>>>>>> >>>>>>>>> Вт, 01 авг 2017, Jose Mario Quintana написал(а): >>>>>>>>> >>>>>>>>>> A brief description of the Jx v1.0 extensions, together with links >>>> to a >>>>>>>>>> Windows 64 bit dll, a Unix 64 bit so binaries and the patch >>>>>>>>>> corresponding >>>>>>>>>> to the J806 source can be found at, >>>>>>>>>> http://www.2bestsystems.com/foundation/j/jx1 >>>>>>>>>> >>>>>>>>>> Summary >>>>>>>>>> >>>>>>>>>> - Spelling >>>>>>>>>> - Names with unicode characters >>>>>>>>>> - Primitives >>>>>>>>>> Added =.. =:: $:: [. ]. ]: ".. ":: `. ?: i.. O. >>>>>>>>>> Extended ~ $. >>>>>>>>>> - Foreign >>>>>>>>>> Added 104!:5 Unnamed Execution >>>>>>>>>> >>>>>>>>>> - Trains >>>>>>>>>> a v Added (different from Jx v0) >>>>>>>>>> a a Extended (different from Jx v0) >>>>>>>>>> c a Resurrected >>>>>>>>>> a c a Resurrected >>>>>>>>>> >>>>>>>>>> The Jx v0 page, >>>>>>>>>> http://www.2bestsystems.com/foundation/j/jx0 >>>>>>>>>> will be removed in the near future >>>>>>>>>> >>>>>>>>>> Time permitting, there will be soon a script with assertions for >>>> those >>>>>>>>>> who >>>>>>>>>> want to verify binaries targeted for other platforms and I will >> try >>>> to >>>>>>>>>> illustrate the facilities in action with some scripts. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sat, Mar 8, 2014 at 11:40 PM, Jose Mario Quintana < >>>>>>>>>> jose.mario.quint...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> The patches, a Windows 32-bit DLL, a cheatsheet, 32 and 64 bit >> Unix >>>>>>>>>>> libraries are found at: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> http://www.2bestsystems.com/foundation/j/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> For more details and demonstration code, see the article in the >>>>>>>>>>> Journal of >>>>>>>>>>> J: http://journalofj.com/index.php/vol-2-no-2-october-2013 (only >>>> the >>>>>>>>>>> definition of the new conjunction knot (`.) has been slightly >>>>>>>>>>> modified for >>>>>>>>>>> the release). >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------ >>>>>>>>>> ---------- >>>>>>>>>> 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/forum >> s.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 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm