I routinely "cheat" when building tacit phrases by taking a look at what
"13 :" does:
   13 : '(2$x)$(>:x){.y'
(2 $ [) $ ] {.~ [: >: [
   3 ((2 $ [) $ ] {.~ [: >: [) 5
5 0 0
0 5 0
0 0 5
The "trick" I see it doing here is flipping "(>:x) {. y " to " ] {.~ [: >: ",
i.e. reversing the arguments of "{." so the monadic use of ">:" is on the
right, avoiding the parenthesization.

On Sun, Jun 30, 2019 at 12:41 AM Daniel Eklund <doekl...@gmail.com> wrote:

> Bill,
>
> Thank you.
>
> Your succinct definition of & operating on _verbs_ makes it clear.
>
> Although I was drawn to ampersand because my hard-coded was bonding a noun,
> I could not just use it with in a different context without understanding
> the difference.
>
> thanks again
>
> On Sun, Jun 30, 2019 at 12:06 AM bill lam <bbill....@gmail.com> wrote:
>
> > When & works for verbs.
> > x u&v y  <=>  (v x) u (v y)
> > for your case
> > 5 {.&] 3 <=> (] 5) {. (] 3)
> > 5 {.&[ 3 <=> ([ 5) {. ([ 3)
> >
> > but both MONAD [ and ] return its RIGHT argument.
> > so the &] or &[ is redundant and it is the same as
> >  {.
> >
> > Something like,
> >
> > Myverb =:  2&#@:<:@:[ $ {.
> > Myverb2 =:  2&#@:<:@:] $ {.~
> >
> > tl;dr sorry.
> >
> > Sat, 29 Jun 2019, Daniel Eklund написал(а):
> > > Hey all,
> > >
> > > I am posting a long email as I am hoping to understand from the
> > collective
> > > wisdom here.  Apologies if this was somewhere in the archives but I
> have
> > > not been able to find it.
> > >
> > > I’m trying to understand the subtleties in binding conjunctions via
> tacit
> > > forks (or anything tacit).  My fumbling has proved mildly
> > > counter-intuitive, and I’m hoping someone here can point me in the
> right
> > > direction and/or confirm my conclusions are directionally correct.
> > >
> > > Problem:  I want to create a verb that allows be to create an identity
> > > matrix filled with a numeral (filled-noun) like:
> > >
> > >  1 Myverb 4
> > >
> > > 1 0 0 0
> > >
> > > 0 1 0 0
> > >
> > > 0 0 1 0
> > >
> > > 0 0 0 1
> > >
> > > Or
> > >
> > > 2 Myverb 4
> > >
> > > 2 0 0 0
> > >
> > > 0 2 0 0
> > >
> > > 0 0 2 0
> > >
> > > 0 0 0 2
> > >
> > > I know there are many ways to do this and the point of the task is
> purely
> > > for me to experiment with tacit composition.
> > >
> > > I found, quite easily I could do
> > >
> > >    ({.&1) 5
> > >
> > > 1 0 0 0 0
> > >
> > > And therefore
> > >
> > >    4 4    $ ({.&1) 5
> > >
> > > 1 0 0 0
> > >
> > > 0 1 0 0
> > >
> > > 0 0 1 0
> > >
> > > 0 0 0 1
> > >
> > > Which leads me to
> > >
> > >    (2&#@:<:    $ {.&1) 5
> > >
> > > 1 0 0 0
> > >
> > > 0 1 0 0
> > >
> > > 0 0 1 0
> > >
> > > 0 0 0 1
> > >
> > > Using a monadic fork.
> > >
> > > But now I want to pass the bound noun to Take ( {. ) so that it’s not
> > just
> > > hard-coded as a ‘1’ and thus need a dyadic fork.
> > >
> > > I stumbled into something that works but left me with questions
> (notice I
> > > had to switch sides for dimension and the filler-noun):
> > >
> > >    Myverb =:      2&#@:<:@:[ $     {.&]
> > >
> > >
> > >
> > >    5 Myverb 3   NB. The 5 is the shape of the square, and
> > >
> > >                         NB.     the ‘3’ is the filler (the opposite of
> > what
> > > I wanted originally)
> > >
> > > 3 0 0 0
> > >
> > > 0 3 0 0
> > >
> > > 0 0 3 0
> > >
> > > 0 0 0 3
> > >
> > > The right-verb in the fork seems to be where I had a problem truly
> > > understanding.  Given that the above works, I thought that swapping the
> > > SameLeft verb and the SameRight verb _should_ give me the following
> that
> > > works
> > >
> > >       Myverb   =: 2&#@:<:@:[     $ {.&]
> > >
> > >       Myverb2 =:      2&#@:<:@:] $     {.&[ NB. Just swapping the ‘]’
> and
> > > the ‘[‘
> > >
> > > But it gives me weird results.
> > >
> > >    3 Myverb2 5
> > >
> > > 5 0 0 5
> > >
> > > 0 0 5 0
> > >
> > > 0 5 0 0
> > >
> > > 5 0 0 5
> > >
> > > I think I was able to figure it out by realizing that in the phrase
> > >
> > >     {.&[
> > >
> > > The ‘leftness’ of the SameLeft verb binds overrides the syntactic
> > > suggestion that the input will be bound to the right, and thus
> > >
> > >    3  {.&[  5
> > >
> > > 5 0 0
> > >
> > > Gets reshaped into the matrix I did not want.  Given that, I can
> finally
> > do:
> > >
> > >       Myverb3 =:      2&#@:<:@:] $     {.~&[
> > >
> > >    _1 Myverb3 5
> > >
> > > _1  0 0  0
> > >
> > >  0 _1  0 0
> > >
> > >  0  0 _1  0
> > >
> > >  0  0 0 _1
> > >
> > > By commuting the right verb in the fork.
> > >
> > > As I was concentrating just on the conjunction I got the following
> > results,
> > > and think I understand, but would appreciate confirmation, a pat on the
> > > back, or further readings:
> > >
> > >     ({.&[)  5 NB.  Experiment (A)
> > >
> > > 5
> > >
> > >     ({.&])  5 NB.  Experiment (B)
> > >
> > > 5
> > >
> > >    3 ({.&])  5 NB. Experiment (C)
> > >
> > > 5 0 0
> > >
> > >    3 ({.&[)  5 NB. Experiment (D)
> > >
> > > 5 0 0
> > >
> > >    5 ({.&)          NB. Experiment (E)
> > >
> > > {.&5
> > >
> > >    ({.&) 5          NB. Experiment (F)
> > >
> > > |syntax error
> > >
> > >    5 (&{.)           NB. Experiment (G)
> > >
> > > 5&{.
> > >
> > >     (&{.)  5   NB. Experiment (H)
> > >
> > > |syntax error
> > >
> > >
> > > Summary:
> > >
> > > In experiment (A) the monadic application turns the SameLeft into Same
> > > which feeds its results (via compose) to Head and resolves to {. 5  and
> > > thus 5.
> > >
> > > In experiment (B) the same thing occurs except it is SameRight into
> Same.
> > >
> > > In experiment ( C) with a dyadic invocation, the SameRight’s
> ‘rightness’
> > > binds the 5 to the right side, and  3 is fed as the left argument to as
> > it
> > > should.
> > >
> > > In experiment (D) with a dyadic invocation, the SameLeft’s ‘leftness’
> > binds
> > > the 3 to the left side of the argument (despite it looking like it is
> > bound
> > > on the right -- it is helpful now to understand ampersand as ‘compose’
> > and
> > > not ‘bind) and the results are the same as experiment (C ).
> > >
> > > In experiment (E) the conjuctive fragment (no SameRight or SameLeft)
> has
> > > become an _adverb_ and thus seeks to the bind to the left -- and
> > produces a
> > > verb with a noun bound to the right.  NB. I was really confused when I
> > saw
> > > that this parsed.
> > >
> > > In experiment (F) I proved to myself that the fragment without the
> > > SameRight or SameLeft was just a naked adverb because I got a syntactic
> > > error as an adverb resolves to the left.
> > >
> > > In experiment (G) I moved the ampersand around on the fragment and saw
> > that
> > > now the ampersand was ‘respecting’ the direction of binding (binding on
> > the
> > > left instead of the right as in experiment (E)).  This also continued
> the
> > > evidence that the fragment was an adverb.
> > >
> > > Experiment (H) cemented my belief that either fragment   (&{.) or ({.&)
> > are
> > > induced adverbs.
> > >
> > > Anyways, thank you for reading and I hope for some feedback.  In all of
> > the
> > > above, I think experiment D crystalizes the source of my initial (and
> > > long-lasting) confusion, hopefully now resolved.
> > >
> > > Thank you
> > >
> > > Daniel Eklund
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> > --
> > regards,
> > ====================================================
> > GPG key 1024D/4434BAB3 2008-08-24
> > gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>


-- 

Devon McCormick, CFA

Quantitative Consultant
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to