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

Reply via email to