Won't this destroy adverb trains? On Fri, Aug 18, 2017 at 6:04 PM, Jose Mario Quintana <jose.mario.quint...@gmail.com> wrote: > Jx version 1.1, not yet released, allows adverbs and conjunctions to act on > boxed verbs, adverbs and conjunctions (see [0] for the motivation),
A train is a deferred action syntactic construct. It seems to me that by preventing the deferral you prevent the train from forming. (Put differently: since Jx is drifting away from J programming, perhaps we should also move this kind of discussion to the chat forum?) Thanks, -- Raul On Fri, Aug 18, 2017 at 10:44 PM, Jose Mario Quintana <jose.mario.quint...@gmail.com> wrote: > What is "this"? > > On Fri, Aug 18, 2017 at 8:52 PM, Raul Miller <rauldmil...@gmail.com> wrote: > >> Won't this destroy adverb trains? >> >> Thanks, >> >> -- >> Raul >> >> >> On Fri, Aug 18, 2017 at 6:04 PM, Jose Mario Quintana >> <jose.mario.quint...@gmail.com> wrote: >> > Inline comments follow... >> > >> >> Hi all ! >> >> >> >> I tried out the functionality of Jx and got some problems. >> >> I expected these two expressions to be equivalent, but got syntax error >> >> on the second. >> >> >> >> +(".. '/') 1 2 3 >> >> 6 >> >> +(".. [: / ]:) 1 2 3 >> > >> > One issue is that ]: is an adverb and adverbs can only act on nouns and >> > verbs. Adverbs and conjunctions must be provided as atomic >> representations >> > or equivalent. The current documentation is incomplete and will be >> fixed; >> > thank you for noticing this problem. >> > >> > To wit, the adverb can be boxed using ]: as follows, >> > >> > an=. <@:((":0) ,&< ]) NB. Atomizing a noun (or verb, adverb or >> > conjunction) >> > >> > [: (/an) ]: NB. (/an) is the Jx train (a v) >> > ┌─┐ >> > │/│ >> > └─┘ >> > >> > or, >> > >> > [: (/("..inv)) ]: >> > ┌─┐ >> > │/│ >> > └─┘ >> > >> > ([: (/("..inv)) ]:) -: (([: (/an) ]:)) >> > 1 >> > >> > A single / can be boxed directly as well, >> > >> > /< >> > ┌─┐ >> > │/│ >> > └─┘ >> > >> > (/<) -: ([: (/("..inv)) ]:) >> > 1 >> > >> > Another issue is that evoke (`:6), and consequently ".. , does not act >> on >> > boxed adverbs, >> > >> > ".. (/<) >> > |domain error >> > | "..(/<) >> > (/<) (`:6) >> > |domain error >> > | (/<)(`:6) >> > >> > So, one has to write, for instance, >> > >> > +(".. (/an)) 1 2 3 >> > 6 >> > >> > Jx version 1.1, not yet released, allows adverbs and conjunctions to act >> on >> > boxed verbs, adverbs and conjunctions (see [0] for the motivation), >> > >> > JVERSION >> > Installer: j602a_win.exe >> > Engine: j806/j64/windows/beta/BEST/Jx/2017-08-15T16:31:59 >> > Library: 6.02.023 >> > >> > +(".. (/<)) 1 2 3 >> > 6 >> > >> > >> >> |syntax error >> >> | +("..[:/]:)1 2 3 >> >> >> >> I had problems with Knot until I recognized that it is `. and not `: as >> >> the description says. >> >> >> >> "|`:|Knot (Gerund) – is similar to the J primitive|`|(tie) except that >> a >> >> non-boxed noun argument is first replaced by its atomic >> representation." >> >> >> >> +`.1 >> >> >> >> ┌─┬─────┐ >> >> │+│┌─┬─┐│ >> >> │ ││0│1││ >> >> │ │└─┴─┘│ >> >> └─┴─────┘ >> >> >> > >> > >> > Right, the documentation will be fixed; thank you for the feedback. >> > >> > >> >> I had problems with Cloak. I managed to use it but didn't understand >> >> what it is for. >> >> >> >> AtDot=: 2 : (':';'[ v^:_1 u at v') >> >> >> >> 1 0 1 -AtDot# 4 5 6 >> >> >> >> _4 0 _6 >> >> >> >> 1 0 1 -(2 ?: 5!:1<'AtDot')# 4 5 6 >> >> >> >> _4 0 _6 >> >> >> >> >> >> The example gives syntax error. Missing parenthesis. >> >> >> >> (;:'ver conj adv')=. _3 _2 _1<@?:"0) 0 >> >> >> >> |syntax error >> >> >> >> | (;:'ver conj adv')=: _3 _2 _1<@?:"0)0 >> >> >> >> (;:'ver conj adv')=. _3 _2 _1<@?:("0) 0 >> > >> > Right, I used this properly in the Appendix of my post [1] but somehow a >> > parenthesis got missing in the documentation; it will be fixed. >> > >> >> >> >> ver >> >> >> >> (_3?:0) >> >> >> >> conj >> >> >> >> (_2?:0) >> >> >> >> adv >> >> >> >> (_1?:0) >> >> >> >> >> >> I guess you can use Jx to define adverbs and conjunctions in tacit >> code, >> >> but I didn't understand how. >> >> >> > >> > The verb ver verbs adverbs (as monadic verbs) and conjunctions (as >> dyadic >> > verbs), conj and adv are the reverse operations (i.e., adv adverbs a >> > monadic verb and conj conjuncts a dyadic verb) so to speak. This might >> > help to clarify the concepts a little, >> > >> > u (/ver)adv NB. (/ver) is an (a v) Jx train >> > u/ >> > >> > u (ver(<'/'))adv NB. ver acting on an atomic representation >> > u/ >> > >> > u ((ver adv)@:)conj v NB. ((ver adv)@:) is an (a c) Jx train >> > u@:v >> > >> > u (ver(<'@:'))conj v NB. ver acting on an atomic representation >> > u@:v >> > >> > You got it right, adv and conj allows one to write any arbitrary >> tacit >> > adverbs and conjunctions by reducing those to writing tacit verbs >> (i.e., u >> > adv and v conj where u is monadic verb and v is dyadic verb). >> > >> > What makes it easy is the fact that primitive nonnumerical verbs are >> > higher-order functions (i.e., able to act on nouns verbs adverbs and >> > conjunctions, or produce nouns verbs adverbs and conjunctions, or both >> but >> > the official interpreters makes it almost impossible to use them as such; >> > Jx makes it easy). >> > >> > For example, >> > >> > toj ": adv >> > toj >> > $ (toj ": adv) >> > 3 >> > fix=. f.ver >> > >> > toJ ":@:fix adv >> > ((10{a.) I.@(e.&(13{a.))@]} ])@:(#~ -.@((13 10{a.)&E.@,)) >> > $(toJ ":@:fix adv) >> > 57 >> > u (,&:<)conj v NB. Boxing u and v >> > ┌─┬─┐ >> > │u│v│ >> > └─┴─┘ >> > $(u (,&:<)conj v) >> > 2 >> > >> > dex=. ]conj >> > >> > type'dex' >> > ┌───────────┐ >> > │conjunction│ >> > └───────────┘ >> > >> > >> > + dex - >> > - >> > >> > lev=. [conj >> > >> > + lev - >> > + >> > >> > You might like to check also the Appendix I mentioned for more examples. >> > >> >> >> >> Cheers, >> >> >> >> Erling >> > >> > I really appreciate your interest and patience. >> > >> > >> > References >> > >> > [0] [Jprogramming] Boxed verbs as alternate gerunds Jose Mario Quintana >> > http://www.jsoftware.com/pipermail/programming/2017- >> August/048145.html >> > >> > [1] [Jprogramming] Jx version 1.0 release Jose Mario Quintana >> > http://www.jsoftware.com/pipermail/programming/2017- >> August/048143.html >> > >> > >> > >> > On Fri, Aug 18, 2017 at 9:08 AM, Erling Hellenäs < >> erl...@erlinghellenas.se> >> > wrote: >> > >> >> Hi all ! >> >> >> >> I tried out the functionality of Jx and got some problems. >> >> I expected these two expressions to be equivalent, but got syntax error >> on >> >> the second. >> >> >> >> +(".. '/') 1 2 3 >> >> 6 >> >> +(".. [: / ]:) 1 2 3 >> >> |syntax error >> >> | +("..[:/]:)1 2 3 >> >> >> >> I had problems with Knot until I recognized that it is `. and not `: as >> >> the description says. >> >> >> >> "|`:|Knot (Gerund) – is similar to the J primitive|`|(tie) except that a >> >> non-boxed noun argument is first replaced by its atomic representation." >> >> >> >> +`.1 >> >> >> >> ┌─┬─────┐ >> >> │+│┌─┬─┐│ >> >> │ ││0│1││ >> >> │ │└─┴─┘│ >> >> └─┴─────┘ >> >> >> >> I had problems with Cloak. I managed to use it but didn't understand >> what >> >> it is for. >> >> >> >> AtDot=: 2 : (':';'[ v^:_1 u@v') >> >> >> >> 1 0 1 -AtDot# 4 5 6 >> >> >> >> _4 0 _6 >> >> >> >> 1 0 1 -(2 ?: 5!:1<'AtDot')# 4 5 6 >> >> >> >> _4 0 _6 >> >> >> >> >> >> The example gives syntax error. Missing parenthesis. >> >> >> >> (;:'ver conj adv')=. _3 _2 _1<@?:"0) 0 >> >> >> >> |syntax error >> >> >> >> | (;:'ver conj adv')=: _3 _2 _1<@?:"0)0 >> >> >> >> (;:'ver conj adv')=. _3 _2 _1<@?:("0) 0 >> >> >> >> ver >> >> >> >> (_3?:0) >> >> >> >> conj >> >> >> >> (_2?:0) >> >> >> >> adv >> >> >> >> (_1?:0) >> >> >> >> >> >> I guess you can use Jx to define adverbs and conjunctions in tacit code, >> >> but I didn't understand how. >> >> >> >> >> >> Cheers, >> >> >> >> Erling >> >> >> >> >> >> >> >> On 2017-08-01 22:55, Jose Mario Quintana wrote: >> >> >> >>> 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/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