I was pointing out those bugs



----- Original Message -----
From: Henry Rich <henryhr...@gmail.com>
To: programm...@jsoftware.com
Sent: Wednesday, January 4, 2017 5:15 AM
Subject: Re: [Jprogramming] fixed tacit produces an error when reassigned

I'm not sure what you are pointing out but:

[ `(1 ar)`]

and

[`1`]

should produce different results - 1 is not the same as the AR of 1.

  (1 ar)`>:  (1 : 'u y')

and

  (<(,'0');1),<'>:' (1 : 'u y')

are different, because of missing () in the second case.

Henry Rich




On 1/3/2017 11:14 PM, 'Pascal Jasmin' via Programming wrote:
> The problem that I originally reported is with "internal" lr, as a verb that 
> is functional, cannot be reassigned to its LR.
>
> ar =: 1 : '5!:1 <''u'''
>
> [ `(1 ar)`]}
>
> is not the same as this result
>
> [`1`]}
>
> though actual lr does not try to get as fancy with substituting `
>
>
>    lr  ] ` (1 ar) ` ]
> (<,']'),(<(,'0');1),<,']'
>
>    lr [`1:`]
> ;:'[1:]'
>
> the same bug happens with ^:
>
> but it doesn't happen with the `: family or /
>
> a different bug happens with explicit adverbs
>
>   (1 ar)`>:  (1 : 'u y')
> (<(,'0');1),<'>:' (1 : 'u y')
>
> should be
>
> ((<(,'0');1),<'>:') 1 : 'u y'
>
>    ((<(,'0');1),<'>:') 1 : 'u y'  NB. bug is reintroduced.
> (<(,'0');1),<'>:' (1 : 'u y')
>
> ----- Original Message -----
> From: Henry Rich <henryhr...@gmail.com>
> To: programm...@jsoftware.com
> Sent: Tuesday, January 3, 2017 9:37 PM
> Subject: Re: [Jprogramming] fixed tacit produces an error when reassigned
>
> Operands to modifiers such as m}, ^:n, m`, and `n are flagged if they
> are recognized as gerunds.
>
> This seems to me to be a mistake for m` and `n: they should not be
> flagged until the derived adverb has been executed.  The problem you
> report is that m/n are interpreted as if they had come from converting a
> noun to an AR, rather than as a noun in themselves.
>
> But Roger said it was an error in 5!:5.  When Roger diagnoses a problem
> differently from me, I assume I am wrong.  I'll have to go think about it.
>
> In the meantime, you can consider whether there would be a problem with
> delaying the recognition of m` and `n until the derived verb is executed.
>
> Henry Rich
>
>
>
> On 1/3/2017 11:18 AM, Jose Mario Quintana wrote:
>> Sorry, I pressed the wrong button and my previous message was incomplete;
>> this should have been the full message:
>>
>> I am afraid it is the superbug that has been discovered and rediscovered a
>> few times; see [0, 1, 2 and 3].
>>
>> References
>>
>> [0] [Jprogramming] Table of Verbs, Jose Mario Quintana
>>      http://www.jsoftware.com/pipermail/programming/2013-April/032358.html
>>
>> [1] [Jprogramming] tacit adverb, Dan Bron
>>      http://www.jsoftware.com/pipermail/programming/2012-February/027341.html
>>
>> [2] [Jgeneral] Looks like a bug in "., Dan Bron
>>      http://www.jsoftware.com/pipermail/general/2009-August/033231.html
>>
>> [3] [Jprogramming] Linear Representation Bug?, Roger Hui
>>      http://www.jsoftware.com/pipermail/programming/2009-August/016011.html
>>
>>
>> On Tue, Jan 3, 2017 at 11:09 AM, Jose Mario Quintana <
>> jose.mario.quint...@gmail.com> wrote:
>>
>>> I am afraid it is the superbug that has been discovered and rediscovered a
>>> few times; see [0, 1, 2 and 3].
>>>
>>>
>>> References
>>>
>>> [0] [Jprogramming] Table of Verbs, Jose Mario Quintana
>>>      http://www.jsoftware.com/pipermail/programming/2013-April/032358.html
>>>
>>> [1] [Jprogramming] tacit adverb, Dan Bron
>>>      http://www.jsoftware.com/pipermail/programming/2012-February
>>> /027341.html
>>>
>>> [2] [Jgeneral] Looks like a bug in "., Dan Bron
>>>      http://www.jsoftware.com/pipermail/general/2009-August/033231.html
>>>
>>>
>>> On Tue, Jan 3, 2017 at 10:12 AM, 'Pascal Jasmin' via Programming <
>>> programm...@jsoftware.com> wrote:
>>>
>>>> This file works j804 and j805, when copied and run with F8, you may need
>>>> to fix newlines
>>>>
>>>>
>>>>
>>>>
>>>> NB.---------------------------------------------------------
>>>> -------------------
>>>> NB. Wicked Tacit Toolkit...
>>>> NB.---------------------------------------------------------
>>>> -------------------
>>>>
>>>> NB. Load it using 0!:0 or similar or
>>>> NB. paste it on an J editing window and use Crtl-A Crtl-E or
>>>> NB. of course, load it using a hot key (or replace '=.' by '=:' if you
>>>> must)
>>>>
>>>> NB. A word is a noun, verb, adverb or conjunction
>>>>
>>>>
>>>> (_ o=. @:) (c=. "_) (e=. &.>) (x=. @:[) (y=. @])
>>>>
>>>> an=.  <@:((,'0') ,&< ])          NB. Atomizing words (monadic verb)
>>>>
>>>> Cloak=. (0:`)(,^:)               NB. Cloaking (the atomic representaions
>>>> of)
>>>> NB. adverbs or conjunctions as monadic or
>>>> NB. dyadic verbs (adv)
>>>> Cloak=. ((5!:1)@:<'Cloak')Cloak  NB. Cloak verbing itself! (monadic ver)
>>>>
>>>> 'amper at evoke fix rank tie'=. Cloak o < e o ;: '& @: `: f. " `'
>>>> NB. Verbing some adverbs and conjunctions
>>>>
>>>> train=. (evoke&6) :. an f.       NB. (`:6) with a convinient obverse
>>>> NB. (monadic verb)
>>>> box=. (< o train "0) f.          NB. Boxing primitives and pro-words
>>>> NB. (monadic verb)
>>>>
>>>> af=. an o fix
>>>>
>>>> (a0=. `'') (a1=. (@:[) ((<'&')`) (`:6)) (a2=. (`(<(":0);_)) (`:6))
>>>> av=. ((af'a0')`)  (`(af'a1')) (`(af'a2') ) (`:6)
>>>> NB. Adverbing a monadic verb (adv)
>>>> assert 1 4 9 -: 1 2 3 *: adv
>>>>
>>>> aw=. < o ((0;1;0)&{::)  NB. Fetching the atomic representation
>>>>
>>>> u (a3=. (o (train o aw f.)) ('av'f.)) (a4=. "_)
>>>>
>>>> adv=. train o ((af'a4') ; ] ; (af'a3')"_) f.av
>>>> assert 1 4 9 -: 1 2 3      *:                                adv
>>>> assert 6     -: *          (,^:(0:`(<'/')))                  adv 1 2 3
>>>> assert 0 1 3 -: (*:`(+/\)) (train f. o (0&{ , (<'-') , 1&{)) adv 1 2 3
>>>>
>>>> a3=. (o (aw f.)) ('av'f.)
>>>>
>>>> Adv=. (train f. @:) (train o ((af'a4') ; ] ; (af'a3')"_) f.av)
>>>> assert 1 4 9 -: 1 2 3      ((<'*:') ; ]   )                   Adv
>>>> assert 6     -: *          (< , ((<'/')"_))                   Adv 1 2 3
>>>> assert 0 1 3 -: (*:`(+/\)) (0&{ , (<'-') , 1&{)@:(('';1)&{::) Adv 1 2 3
>>>>
>>>> Ver=. Cloak o af f. NB. Verbing after fixing a pro-adverb or
>>>> pro-conjunction
>>>> NB. (monadic verb)
>>>> ver=. Cloak o an f. NB. Verbing after fixing an adverb or conjunction
>>>> NB. (monadic verb)
>>>>
>>>> NB. Defining cv in terms of itself...
>>>> cv=. ((rank&_) o < o train)f.adv (>@:)     NB. First version
>>>> cv=. (train f. cv at (<x rank _ c)) f.adv  NB. Constant verb
>>>> u ( cv=. (  >cv at (<x rank _ c)) f.adv )
>>>> NB. Constant word (adv)
>>>> NB. (cv is to words as c is to nouns)
>>>> assert (CRLF cv _) -: CRLF
>>>> assert (u   cv _) <adv -: u   <adv
>>>> assert (!@# cv _) <adv -: !@# <adv
>>>> assert (< o ((Ver'cv') o train <'/') _) -: ( < o train (<'/'))
>>>> assert (< o ((Ver'cv') o train <'"') _) -: ( < o train (<'"'))
>>>>
>>>>
>>>> NB. Fetch and From...
>>>> pointers=. (<: o - o i.)`i. @.(0<])
>>>>
>>>> Fetch=. (] amper {:: cv)e o pointers f.adv  NB. Verbs mnemonics pointers
>>>> NB. (e.g., ( 'u0 u1 u2 u3'=. 4 Fetch ) j ( 'v0 v1 v2 v3'=. _4 Fetch ) )
>>>>
>>>> assert (< o train  3 Fetch) -: ( 0&({::)  1&({::)  2&({::)) (< adv)
>>>> assert (< o train _3 Fetch) -: (_3&({::) _2&({::) _1&({::)) (< adv)
>>>>
>>>> From=.  (] amper {   cv)e o pointers f.adv  NB. Verbs mnemonics pointers
>>>> NB. From=.  (] ([ amper train y)(({  `'')c))e o i. f. adv
>>>> NB. (e.g., ( 'u0 u1 u2 u3'=. 4 From ) j ( 'v0 v1 v2 v3'=. _4 From ) )
>>>>
>>>> assert (< o train  3 From ) -: ( 0&{      1&{      2&{     ) (<adv)
>>>> assert (< o train _3 From ) -: (_3&{     _2&{     _1&{     ) (<adv)
>>>>
>>>> Left=.  (at [cv)e f.adv
>>>> Right=. (at ]cv)e f.adv
>>>>
>>>> mRS=. (`'') (<&.:train f.av) (`,)(`])            (`:6) (train f. @:
>>>> )(&:(an f.))
>>>> NB. Monadic recursion scope
>>>> assert    (1 + (1:`(* $:@<:)@.*)         mRS  4) -: 25  NB. Factorial
>>>> fixed
>>>> dRS=. (`'') (<&.:train f.av) (`,) (`]) (,`) ([`) (`:6) (train f. @:
>>>> )(&:(an f.))
>>>> NB. Dyadic recursion scope
>>>> assert (3 (1 + (1:`(%~ * $:&:<:)@.(*@:[))dRS) 7) -: 36  NB. Binomial fixed
>>>>
>>>>
>>>> mRS is properly assigned and works as intended from file,
>>>>
>>>>
>>>> mRS
>>>> ((((((`'')(((`'')(&(<&.:(,^:(0:``:)&6 :.(<@:((,'0') ,&<
>>>> ])))@:[)))((`_)(`:6))))(`,))(`]))(`:6))(,^:(0:``:)&6 :.(<@:((,'0') ,&<
>>>> ]))@:))(&:(<@:((,'0') ,&< ])))
>>>>
>>>> but trying to to assign it to this linear representation produces a
>>>> syntax error
>>>>
>>>> mRS =: ((((((`'')(((`'')(&(<&.:(,^:(0:``:)&6 :.(<@:((,'0') ,&<
>>>> ])))@:[)))((`_)(`:6))))(`,))(`]))(`:6))(,^:(0:``:)&6 :.(<@:((,'0') ,&<
>>>> ]))@:))(&:(<@:((,'0') ,&< ])))
>>>> |syntax error
>>>>
>>>>
>>>>
>>>> is this a bug in linear representation? is it directly assignable?
>>>> ----------------------------------------------------------------------
>>>> 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