I was not advocating eliminating tie - I just wanted to understand how
these variations related to something useful.

Thanks,

-- 
Raul


On Fri, Jan 6, 2017 at 7:51 PM, 'Pascal Jasmin' via Programming
<programm...@jsoftware.com> wrote:
> justification is pretty soft but
>
> - knot + tie (- knot 3) 1 : ' ''`f g'' =. m  label_.  f,g '
>
> is one way to get at each gerund.  Each might be variable.
>
>
> Stitching modifiers to verbs (where each side can be length 1 or length of 
> other) is one application, but I don't use this method, so remaining 
> justifications are pretty esoteric, though one common one is that f or g 
> would be used as parameter to another function that takes verb or gerund.  
> The more esoteric application is variable (number of)/default parameters 
> within groups.
>
> The case for tie is that it should be possible to encapsulate a gerund, and 
> bracketing a group is a pretty easy way to make it happen, and hard to do 
> accidentally.  The case against it is that it is already pretty easy.
>
>
> +`- ar
>
> ----- Original Message -----
> From: Raul Miller <rauldmil...@gmail.com>
> To: Programming forum <programm...@jsoftware.com>
> Sent: Friday, January 6, 2017 6:31 PM
> Subject: Re: [Jprogramming] fixed tacit produces an error when reassigned
>
> Neither of these represents a valid train (valid u for `:6), though.
> Which may or may not be important to you.
>
> Anyways, it might be more interesting to identify a context where one
> of them is valid?
>
> Thanks,
>
> --
> Raul
>
>
>
>
> On Fri, Jan 6, 2017 at 1:39 PM, 'Pascal Jasmin' via Programming
> <programm...@jsoftware.com> wrote:
>> tie differs from knot in the following:
>>
>> - knot + tie (- knot 3)
>> ┌─────────┬─────────────┐
>> │┌─┬─────┐│┌─┬─────────┐│
>> ││0│┌─┬─┐│││0│┌─┬─────┐││
>> ││ ││-│+││││ ││-│┌─┬─┐│││
>> ││ │└─┴─┘│││ ││ ││0│3││││
>> │└─┴─────┘││ ││ │└─┴─┘│││
>> │         ││ │└─┴─────┘││
>> │         │└─┴─────────┘│
>> └─────────┴─────────────┘
>>
>>
>>
>> - knot + knot (- knot 3)
>> ┌─┬─┬─┬─────┐
>> │-│+│-│┌─┬─┐│
>> │ │ │ ││0│3││
>> │ │ │ │└─┴─┘│
>> └─┴─┴─┴─────┘
>>
>>
>>  (- knot + knot (- knot 3)) -: - knot + tie - tie 3
>> 1
>>
>> tie allows combining gerunds into 2 if trying to (useful for stitching 
>> togeter gerund terms for example).  Though arguably a separate function 
>> could do that too, and there's reason to prefer the simplicity of your 
>> function.
>>
>>
>>
>>
>> ----- Original Message -----
>> From: Raul Miller <rauldmil...@gmail.com>
>> To: Programming forum <programm...@jsoftware.com>
>> Sent: Friday, January 6, 2017 12:13 PM
>> Subject: Re: [Jprogramming] fixed tacit produces an error when reassigned
>>
>> Here's an explicit treatement for knot:
>>
>> testgerund=:3 :0
>>   y 5!:0
>>   1
>> )
>> isgerund=:3 :0 ::0:
>>   testgerund"0 y
>>   1
>> )
>> arg=: 1 : 0
>>   if. 0=4!:0<'u' do.
>>     if. isgerund m do. m return. end.
>>   end.
>>   5!:1 <'u'
>> )
>> knot=: 2 :'u arg ` (v arg)'
>>
>> --
>> Raul
>>
>>
>> On Fri, Jan 6, 2017 at 11:27 AM, Jose Mario Quintana
>> <jose.mario.quint...@gmail.com> wrote:
>>> Pascal wrote:
>>>
>>> "seems like there is a need for a new primitive say `.. (tie below)"
>>>
>>> The Jx primitive  `. (knot) does the following:
>>>
>>>
>>>    1`.+
>>> ┌─────┬─┐
>>> │┌─┬─┐│+│
>>> ││0│1││ │
>>> │└─┴─┘│ │
>>> └─────┴─┘
>>>    +/`.1 2 3 4
>>> ┌───────┬───────────┐
>>> │┌─┬───┐│┌─┬───────┐│
>>> ││/│┌─┐│││0│1 2 3 4││
>>> ││ ││+│││└─┴───────┘│
>>> ││ │└─┘││           │
>>> │└─┴───┘│           │
>>> └───────┴───────────┘
>>>    +/`.1 2 3 4 `:6
>>> 10
>>>
>>> See [0] and references there in.
>>>
>>> [0] [Jprogramming] J Extensions, Jose Mario Quintana
>>>    http://www.jsoftware.com/pipermail/programming/2014-March/036377.html
>>>
>>>
>>> On Thu, Jan 5, 2017 at 8:53 PM, 'Pascal Jasmin' via Programming <
>>> programm...@jsoftware.com> wrote:
>>>
>>>> there is always the ugliness that lr spits out
>>>>
>>>>   lr (1 ar)`+
>>>> (<(,'0');1),<,'+'
>>>>
>>>> (but parenthesized in case it is bound to modifier)
>>>>
>>>> > One solution would be to make an exception for noun ARs, i. e. those
>>>> beginning with (<'0').  Those could be left in boxed form, rather than
>>>> converted back to their value, when they appear as operands to (`).
>>>>
>>>>
>>>> This sounds promising, so
>>>>
>>>> (<(,'0');1)`+
>>>>
>>>> seems like there is a need for a new primitive say `.. (tie below)
>>>>
>>>>
>>>> ar =: 1 : '5!:1 <''u'''
>>>> isNoun_z_ =: (0 = 4!:0 ( :: 0:))@:<
>>>> isgerund =: 0:`(0 -.@e. 3 : ('y (5!:0)';'1')"0)@.(0 < L.) :: 0:
>>>> isgerundA =: 1 : ' if. isNoun ''u'' do. isgerund m else. 0 end.'
>>>> tie =: 2 : 'if.  u isgerundA do. if. v isgerundA do. m ar , v ar else. m ,
>>>> v ar end. else. if. v isgerundA do. u ar , n  else. u ar , v ar end. end. '
>>>>
>>>> so the above could be displayed (lr) and input as
>>>>
>>>> 1`..+
>>>>
>>>> but
>>>>
>>>>
>>>> (<(,'0');1)`+
>>>>
>>>> wouldn't break anything since its a valid lr that creates the valid
>>>> gerund.  I can't imagine anyone was relying on buggy lr output that doesn't
>>>> convert back to ar form.
>>>>
>>>>
>>>>
>>>>
>>>> ----- Original Message -----
>>>> From: Henry Rich <henryhr...@gmail.com>
>>>> To: programm...@jsoftware.com
>>>> Sent: Thursday, January 5, 2017 8:20 PM
>>>> Subject: Re: [Jprogramming] fixed tacit produces an error when reassigned
>>>>
>>>> I understand this problem a little better now.
>>>>
>>>> The trouble would be something like
>>>>
>>>> v0`v1`n2`v3
>>>>
>>>> where the n2 is a user-created AR.  How should you convert this back to
>>>> linear rep?
>>>>
>>>> There are no fingerprints to indicate that a gerund was created by (`)
>>>> turning a verb into an AR.  So when the LR is generated, any AR that is
>>>> an operand to (`) is assumed to have been created by (`).
>>>>
>>>> One solution would be to make an exception for noun ARs, i. e. those
>>>> beginning with (<'0').  Those could be left in boxed form, rather than
>>>> converted back to their value, when they appear as operands to (`).
>>>>
>>>> Would that change break anything?
>>>>
>>>> Henry Rich
>>>>
>>>>
>>>>
>>>> On 1/3/2017 9:37 PM, Henry Rich wrote:
>>>> > 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/forum
>>>> s.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
>> ----------------------------------------------------------------------
>> 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