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

Reply via email to