I have only fiddled around with the J source code a bit enough to make it
work on an Android but I have implemented a few compilers for languages
with functional properties.

Bill, your observation made me rethink my entire approach yet again.

I am reminded of a colleague who once explained to me that there is no
problem in computer science that can not be solved with *one more* layer of
in direction.

On Sat, May 16, 2020, 18:44 bill lam <[email protected]> wrote:

> Shouldn't assignment like
> b=. , a
> c=. 1{a
> just increase reference count of the mother instead of deep copy?
>
>
> On Sun, May 17, 2020, 6:27 AM Henry Rich <[email protected]> wrote:
>
> > I wouldn't say so.  Reshape takes virtually no time/space, but boxing or
> > assigning the reshaped result does.  If you do something like
> >
> > +/ @: (,/) y
> >
> > the result of ,/ is never realized and it would be wrong to charge it
> > with time/space not used.
> >
> > Similarly
> >
> > (}. - }:) y
> >
> > the }. and }: create virtual results that are never realized.
> >
> > You need to expand your mental model beyond time/space for a verb, to
> > include time/space for realization when that becomes necessary.
> >
> > Henry Rich
> >
> >
> > On 5/16/2020 1:22 PM, 'Mike Day' via Programming wrote:
> > > Oh... so one needs to, say, assign the result to see the real t/s?
> > >
> > > Thanks,
> > >
> > > Mike
> > >
> > > Sent from my iPad
> > >
> > >> On 16 May 2020, at 17:05, Henry Rich <[email protected]> wrote:
> > >>
> > >> The time/space numbers are telling you that (x $ y) produces a virtual
> > result when it can, while (_2 ]\ y) doesn't (yet).  If you use the result
> > immediately, the space saving is real.  If you box the result or save it
> in
> > a name, the value will be realized and the space saving will vanish.
> > >>
> > >> Henry Rich
> > >>
> > >>> On 5/16/2020 11:14 AM, 'Michael Day' via Programming wrote:
> > >>> Much neater than what I was about to offer,  unless Raoul needs to
> > specify the fill,
> > >>>
> > >>> in which case,  this alternative rather minimal amendment is worth
> > consideration:
> > >>>
> > >>>     ($!._ ~2,~>.@-:@#) i.7
> > >>> 0 1
> > >>> 2 3
> > >>> 4 5
> > >>> 6 _
> > >>>
> > >>> cf
> > >>>
> > >>>     _2]\ i.7
> > >>> 0 1
> > >>> 2 3
> > >>> 4 5
> > >>> 6 0
> > >>>
> > >>> Also, the time and space performance _might_ be important for large
> > inputs:
> > >>>
> > >>>     ts' $ _2]\ list ' [list =: i.100000
> > >>> 0.000618 1.04986e6
> > >>>     ts'($!._ ~2,~>.@-:@#) list'
> > >>> 2.7e_6 2304
> > >>>
> > >>> Cheers,
> > >>>
> > >>> Mike
> > >>>
> > >>>> On 16/05/2020 15:57, 'Rob Hodgkinson' via Programming wrote:
> > >>>> You could try Infix … here with NuVoc link…
> > >>>> https://code.jsoftware.com/wiki/Vocabulary/bslash#dyadic
> > >>>>
> > >>>>      x u\ y where x is eg _2 means apply very b to successive pairs
> > (_ for non-overlapping).
> > >>>>
> > >>>>        _2 ]\ 1 2 3 4 5 6
> > >>>> 1 2
> > >>>> 3 4
> > >>>> 5 6
> > >>>>        _2 ]\ 1 2 3 4 5 6 7
> > >>>> 1 2
> > >>>> 3 4
> > >>>> 5 6
> > >>>> 7 0
> > >>>>
> > >>>>       _2 <\ 1 2 3 4 5 6
> > >>>> ┌───┬───┬───┐
> > >>>> │1 2│3 4│5 6│
> > >>>> └───┴───┴───┘
> > >>>>
> > >>>> HTH…/Rob
> > >>>>
> > >>>>> On 17 May 2020, at 12:42 am, Raoul Schorer <
> [email protected]>
> > wrote:
> > >>>>>
> > >>>>> Hello,
> > >>>>>
> > >>>>> I am convinced that this must be trivial, but I wasn't able to find
> > in the documentation how to reshape a list to a table without manually
> > extracting the length.
> > >>>>>
> > >>>>> in summary, is there a more direct way of doing:
> > >>>>>
> > >>>>> lst =. i. 6
> > >>>>>
> > >>>>> ((2,~2%~#) $ ]) lst
> > >>>>>
> > >>>>> for a list of arbitrary length?
> > >>>>>
> > >>>>> Thanks!
> > >>>>>
> > >>>>> Raoul
> > >>>>>
> > >>>>>
> > ----------------------------------------------------------------------
> > >>>>> For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > >>>>
> ----------------------------------------------------------------------
> > >>>> For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > >>>
> > >>
> > >> --
> > >> This email has been checked for viruses by AVG.
> > >> https://www.avg.com
> > >>
> > >> ----------------------------------------------------------------------
> > >> 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