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