I'm trying to write this in simple J.
T =: 2 2 $ +/`|:`|.`(-/ .*)
g=:[ , [: < [ ('0';]) ]
A=:0:`(<'`:')
all=:([:<([:(,^:A)&6 g) f."0 _)"0 _
T all i.2 2
----T---┐
│2 4│0 2│
│ │1 3│
+---+---+
│2 3│_2 │
│0 1│ │
L---+----
NB. u&n y is defined as y u n
Can you write 'all' without using & in the function?
Linda
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Jose Mario
Quintana
Sent: Tuesday, April 16, 2013 5:42 PM
To: [email protected]
Subject: Re: [Jprogramming] Table of Verbs
I am referring to the verbs produced by ( u=. 2 2 $ +/ ; |: ; |. ; -/ . * ),
( w=. tf T ) and ( v=. T(4 :'<y`:0 x'"_ 0&) ). Although (v) and (w) are
equivalent in the sense that they should produce the same results when given
the same argument they are not the same in the following sense: ( tf T )
resolves into a verb defined exactly as (u), namely ( 2 2 $ +/ ; |: ;
|. ; -/ . * ), whereas ( T(4 :'<y`:0 x'"_ 0&) ) resolves into an
|equivalent
verb with a different definition, namely ( 4 : '<y`:0 x'"_ 0&(2
2$(<(<,'/'),<,<,'+'),(<'|:'),(<'|.'),<(<,'.'),<(<(<,'/'),<,<,'-'),<,'*') ).
Moreover, since the verbs (u) and (w) are, in the end, defined exactly in
the same manner, their atomic representations are also the same,
ar=. 5!:1@<
(ar'u') -: (ar'w')
1
In contrast, the verb (v) has a different atomic representation,
(ar'u') -: (ar'v')
0
That was the intended significance of,
(tf T) `'' -: u f.`'' NB. (tf T) is (2 2 $ +/ ; |: ; |. ; -/ . *)
1
in my original post.
I hope this helps.
On Tue, Apr 16, 2013 at 9:48 AM, Raul Miller <[email protected]> wrote:
> Now I'm thinking you want a nice display using the built-in display
> mechanisms for the result (to be distinguished from the code which
> generates that result). In other words (except you would not do it
> this way), something like:
>
> (3 :'(($y)$(4 :''(x`:6;y`:6)`''''''''''/,y)`:6)`'''''T)`:6
>
> I could make that prettier, of course, but single line execution is
> nice enough for discussion purposes.
>
> (Here, also, the shape has been factored out of the computation, and
> is applied as a final step. But I am currently thinking that that's a
> means to the end, rather than the end itself.)
>
>
> On Tue, Apr 16, 2013 at 9:00 AM, Jose Mario Quintana
> <[email protected]> wrote:
> > "Would you consider Tfixed`:0 as being U?"
> >
> > No. Maybe the following can clarify what I tried to convey:
> >
> > u=. 2 2 $ +/ ; |: ; |. ; -/ . *
> > v=. T(4 :'<y`:0 x'"_ 0&)
> > w=. tf T
> >
> > u
> > 2 2 $ +/ ; |: ; |. ; -/ .*
> >
> > v
> > 4 : '<y`:0 x'"_ 0&(2
> > 2$(<(<,'/'),<,<,'+'),(<'|:'),(<'|.'),<(<,'.'),<(<(<,'/'),<,<,'-'),<,
> > '*')
> >
> > w
> > 2 2 $ +/ ; |: ; |. ; -/ .*
> >
> >
> >
> >
> > On Tue, Apr 16, 2013 at 12:14 AM, Raul Miller
> > <[email protected]>
> wrote:
> >
> >> On Mon, Apr 15, 2013 at 8:28 PM, Jose Mario Quintana
> >> <[email protected]> wrote:
> >> > So far no solution is transforming T into U and perhaps emulating
> >> > U is
> >> what
> >> > was meant, as in
> >> > Raul's solution T(4 :'<y`:0 x'"_ 0&).
> >>
> >> I don't understand what you mean here.
> >>
> >> How was my solution "not U"?
> >>
> >> What is the difference between being U and emulating U?
> >>
> >> I think the distinction you are drawing here has to do with
> >> replicating some functionality in each cell of the table of verbs,
> >> but if that's the case I don't know why it's important. Those
> >> approaches take more code to implement and also result in a table
> >> with different cells.
> >>
> >> Put differently, `:0 was the probably the right approach - the
> >> problem was that the verbs were not conformable. Fixing the
> >> "problem" means changing the verbs or changing the environment in which
they operate.
> >> If you're going to change the verbs, I'd change them from the
> >> start, or I'd use something like:
> >>
> >> T =: 2 2 $ +/`|:`|.`(-/ .*)
> >> Tfixed=: 3 :'{.''''`(<@(y`:0))'"0 T
> >>
> >> Tfixed`:0 i. 2 2
> >> +---+---+
> >> |2 4|0 2|
> >> | |1 3|
> >> +---+---+
> >> |2 3|_2 |
> >> |0 1| |
> >> +---+---+
> >>
> >> So...
> >>
> >> Would you consider Tfixed`:0 as being U?
> >>
> >> Thanks,
> >>
> >> --
> >> Raul
> >> -------------------------------------------------------------------
> >> --- 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