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