Ric, comb3 works, but when you display the definition it inserts a set of
parentheses that are necessary to determine the order of operation. Can you
make your version work with doing that?
comb2=: 13 :'|. I. (x=+/"1 #:i.2^y)##:i.2^y'
comb3=: ((= +/"1) ([: |. [: I. #) ]) [: #: [: i. 2 ^ ]
2 comb3 4
0 1
0 2
0 3
1 2
1 3
2 3
comb2
[: |. [: I. ([ = [: +/"1 [: #: [: i. 2 ^ ]) # [: #: [: i. 2 ^ ]
comb3
((= +/"1) ([: |. [: I. #) ]) ([: #: [: i. 2 ^ ])
I haven't worked on comb4 yet, but I'm looking forward to it.
Linda
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Ric Sherlock
Sent: Tuesday, June 11, 2013 6:31 AM
To: Programming JForum
Subject: Re: [Jprogramming] z458095869_dissectnopath_
Linda,
In case it is of any interest to you, the following is a more faithful
translation of the original comb1 to a tacit form without @ @: or &
comb3=: ((= +/"1) ([: |. [: I. #) ]) ([: #: [: i. 2 ^ ])
If you also want to remove hooks then ...
comb4=: [ (([ = [: +/"1 ]) ([: |. [: I. #) ]) [: #: [: i. 2 ^ ]
Have you tried creating tacit forms without using 13 : ? If not I'd
encourage you to give it a go!
On Tue, Jun 11, 2013 at 7:56 PM, Linda Alvord
<[email protected]>wrote:
> It took quite a while to remove @ @: & from Roger's great
> combinations function and I learned a lot. You may find these
comparisons fun.
>
> If you try this script in J801 jhs then use NB. to ignore the two
> ds statements
>
>
> require '~addons/debug/dissect/dissect.ijs'
>
> comb1=: ((= +/"1) |.@:I.@# ]) #:@i.@(2&^)
> 2 comb1 4
> comb1
>
> comb2=: 13 :'|. I. (x=+/"1 #:i.2^y)##:i.2^y'
> 2 comb2 4
> comb2
>
> ds '2([: |. [: I. ([ = [: +/"1 [: #: [: i. 2 ^ ]) # [: #: [: i. 2 ^ ])4'
>
> ds '2(((= +/"1) |.@:I.@# ]) #:@i.@(2&^))4'
>
> 5!:4 <'comb1'
>
> 5!:4 <'comb2'
>
> Linda
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Linda
> Alvord
> Sent: Friday, June 07, 2013 3:55 PM
> To: [email protected]
> Subject: Re: [Jprogramming] z458095869_dissectnopath_
>
> Here's another happy story about frequency distributions.
>
> require '~addons/debug/dissect/dissect.ijs'
>
> ]A=:?4 5$6
>
> fd=: 13 :'/:~({.,#)/.~,y'
> fd A
>
> fd2=: 13 :'/:~ (,y)({.,#)/.,y'
> fd2 A
>
> fd
> fd2
>
> ds '([: /:~ , ({. , #)/. ,)?4 5$6'
> ds '([: /:~ [: ({. , #)/.~ ,)?4 5$6'
>
> Enter the script above. I never understood fd until today. Looking
> at your ds version allowed me to write an explicit version. The
> tacit result was even shorter! It continues to be a kind of miracle
> tool.
>
> The newer ds is an improvement too.
>
> Linda
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Henry
> Rich
> Sent: Thursday, June 06, 2013 10:12 AM
> To: [email protected]
> Subject: Re: [Jprogramming] z458095869_dissectnopath_
>
> You can use a function in a function; ds just won't look inside the name.
>
> Henry Rich
>
> On 6/6/2013 2:02 AM, Linda Alvord wrote:
> > Henry, Earlier I thought I couldn't use a function inside another
> > function, but it seems now that I can.
> >
> > require '~addons/debug/dissect/dissect.ijs'
> >
> > pas=: 13 :'(i.>:y)!y'
> >
> > NB. BINOMIAL PROBABILITIES
> > bp=: 13 :' (pas x)*(y^ i.>:x)*(1-y)^ |. i.>:x'
> >
> > ds 'pas 3'
> > ds '3(([: pas [) * (] ^ [: i. [: >: [) * (1 - ]) ^ [: |. [: i. [: >:
> [)0.9'
> >
> > Linda
> >
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of Linda
> > Alvord
> > Sent: Wednesday, June 05, 2013 9:54 PM
> > To: [email protected]
> > Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >
> > I just realized what I did. By mistake I wrote ds=: and realized
> > it and knew I had to restart jqt. When I did all was fine.
> >
> > Sorry to bother you.
> >
> > Linda
> >
> >
> > -----Original Message-----d
> > Froam: [email protected]
> > [mailto:[email protected]] On Behalf Of Henry
> > Rich
> > Sent: Wednesday, June 05, 2013 9:26 PM
> > To: [email protected]
> > Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >
> > Are you sure? When I run
> >
> > ds '2([: |: ([ = [: +/ [: |: #~ #: [: i. ^) #"1 [: |: #~ #: [: i. ^)4'
> >
> > I get a valid display. There seems to be a weird () following the 2
> > in your version.
> >
> > Henry Rich
> >
> > On 6/5/2013 9:19 PM, Linda Alvord wrote:
> >> Henry, I used your ds version of cr and used it to rewrite a
> >> shorter version of cr.
> >>
> >> require '~addons/debug/dissect/dissect.ijs'
> >>
> >> cr=: 13 :'|:(x= +/ |:(y#x)#:i.x^y) #"1 |:(y#x)#:i.x^y'
> >> cr
> >> [: |: ([ = [: +/ [: |: #~ #: [: i. ^) #"1 [: |: #~ #: [: i. ^
> >>
> >> 2 cr 4
> >> 0 0 1 1
> >> 0 1 0 1
> >> 0 1 1 0
> >> 1 0 0 1
> >> 1 0 1 0
> >> 1 1 0 0
> >>
> >> ds '2([: |: ([ = [: +/ [: |: #~ #: [: i. ^) #"1 [: |: #~ #: [: i.
> ^)4'
> >> |syntax error: ds
> >> | 2()[:|:([=[:+/[:|:#~#:[:i.^)#"1[:|:#~#:[:i.^)4
> >>
> >> Something in the new version is not working.
> >>
> >> Linda
> >>
> >> -----Original Message-----
> >> From: [email protected]
> >> [mailto:[email protected]] On Behalf Of
> >> Linda Alvord
> >> Sent: Wednesday, June 05, 2013 7:59 PM
> >> To: [email protected]
> >> Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >>
> >> Henry, After an upgrade a click on an array in a red box will
> >> appear in a grid. Now hist 8 appears in the grid with a scroll bar.
> > Impressive.
> >>
> >> Also, 2 cr 5
> >>
> >> Thanks. I'm already finding ds useful. Linda
> >>
> >>
> >> -----Original Message-----
> >> From: [email protected]
> >> [mailto:[email protected]] On Behalf Of
> >> Henry Rich
> >> Sent: Wednesday, June 05, 2013 11:57 AM
> >> To: [email protected]
> >> Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >>
> >> I have fixed the errors you found, in cr and in launching a grid.
> >>
> >> Henry Rich
> >>
> >> On 6/5/2013 3:04 AM, Linda Alvord wrote:
> >>> I'm working on simplifying cr but here is what happens now.
> >>>
> >>> cr=:[: |: ([ = [: +/ [: ([: |: ] #: [: i. */) 2 $~ ]) #"1 [: ([:
> >>> |: ]
> >> #:
> >>> [: i. */) 2 $~ ]
> >>> 2 cr 4
> >>> 0 0 1 1
> >>> 0 1 0 1
> >>> 0 1 1 0
> >>> 1 0 0 1
> >>> 1 0 1 0
> >>> 1 1 0 0
> >>> ds '2 ([: |: ([ = [: +/ [: ([: |: ] #: [: i. */) 2 $~ ]) #"1 [:
> >>> ([: |: ]
> >>> #: [: i. */) 2 $~ ])4'
> >>> length error
> >>> |length error: combineheights
> >>> | estheights=:estheights__vop combineheights estheights__uop
> >>>
> >>> unknown error during parsing
> >>>
> >>> Probably you will spot right away why ds is unhappy.
> >>>
> >>> Linda
> >>> -----Original Message-----
> >>> From: [email protected]
> >>> [mailto:[email protected]] On Behalf Of
> >>> Linda Alvord
> >>> Sent: Wednesday, June 05, 2013 2:16 AM
> >>> To: [email protected]
> >>> Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >>>
> >>> Here's a shorter route to the same problem:
> >>>
> >>> require '~addons/debug/dissect/dissect.ijs'
> >>>
> >>> hist=: 13 :''' O''{~((i.>:y)!y)>/i.>./(i.>:y)!y'
> >>> hist
> >>>
> >>> hist 8
> >>>
> >>> ds '('' O'' {~ (] !~ [: i. >:) >/ [: i. [: >./ ] !~ [: i. >:)8'
> >>>
> >>> Linda
> >>>
> >>> -----Original Message-----
> >>> From: [email protected]
> >>> [mailto:[email protected]] On Behalf Of
> >>> Linda Alvord
> >>> Sent: Wednesday, June 05, 2013 1:36 AM
> >>> To: [email protected]
> >>> Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >>>
> >>> Henry,
> >>>
> >>> I get an error box if I click on the data in an error box in red:
> >>>
> >>> ---------------------------
> >>> wdhandler
> >>> ---------------------------
> >>> error in: dissect_dissectisi_mbldown
> >>>
> >>> xywh : command not found: wd
> >>> (wd ::(''"_)'qer') (13!:8)3
> >>> ---------------------------
> >>> OK
> >>>
> >>> If I look in the Term window this message is repeated quite a few
> times.
> >>>
> >>>
> >>> error in paint
> >>> assertion failure
> >>> |assertion failure: initevents
> >>> | 0~:GRIDHWNDC
> >>>
> >>> Clicking on data in red boxes doesn't work
> >>>
> >>> ---------------------------
> >>> wdhandler
> >>> ---------------------------
> >>> error in: dissect_dissectisi_mbldown
> >>>
> >>> xywh : command not found: wd
> >>> (wd ::(''"_)'qer') (13!:8)3
> >>> ---------------------------
> >>> OK
> >>>
> >>>
> >>> error in paint
> >>> assertion failure
> >>> |assertion failure: initevents
> >>> | 0~:GRIDHWNDC
> >>>
> >>>
> >>> JVERSION
> >>> Engine: j701/2011-01-10/11:25
> >>> Library: 8.01.011
> >>> Qt IDE: 1.0.10
> >>> Platform: Win 32
> >>> Installer: j801 beta install
> >>> InstallPath: c:/users/owner/j801
> >>>
> >>> All files are upgraded and installed.
> >>>
> >>> Maybe this helps.
> >>>
> >>> Linda
> >>>
> >>> -----Original Message-----
> >>> From: [email protected]
> >>> [mailto:[email protected]] On Behalf Of
> >>> Henry Rich
> >>> Sent: Tuesday, June 04, 2013 9:43 PM
> >>> To: [email protected]
> >>> Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >>>
> >>> The result's not too large. It's just not all displayed. The red
> >>> border around the value is the clue that the value has been
> >>> truncated for
> >> display.
> >>> When you see that, you can click on the truncated value to get a
> >>> grid that will show you the entire value.
> >>>
> >>> Henry Rich
> >>>
> >>> On 6/4/2013 9:41 PM, Linda Alvord wrote:
> >>>> Henry, What I meant was the error that begins when ds
> >>>> indicates a list of length 70 and only shows a 27 element
> >>>> list. Then the final table claims shape 9 70 but only shows 9 27.
> >>>>
> >>>> Shouldn't there be a message like "result too large" or something?
> >>>>
> >>>> Linda
> >>>>
> >>>> -----Original Message-----
> >>>> [mailto:[email protected]]
> >>>> On Behalf Of Henry Rich
> >>>> Sent: Tuesday, June 04, 2013 2:53 PM
> >>>> To: [email protected]
> >>>> Subject: Re: [Jprogramming] z458095869_dissectnopath_
> >>>>
> >>>> OK, I have fixed the grid display. When you have an oversize
> >>>> result, clicking on it launches a grid to display the entire result.
> >>>>
> >>>> Linda, is this what you meant by 'beyond the capacity of ds'?
> >>>>
> >>>> Henry Rich
> >>>>
> >>>> On 6/4/2013 12:00 AM, Raul Miller wrote:
> >>>>> Perhaps ds should have scrollbars for displaying large things?
> >>>>> (Though ideally this should go in wd's implementation, at least
> >>>>> as an option, and screen resources for things not in view could
> >>>>> perhaps be avoided. I'm thinking of something like the css
> >>>>> overflow: scroll mechanism for html.)
> >>>>>
> >>>> -----------------------------------------------------------------
> >>>> --
> >>>> -
> >>>> -
> >>>> - 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
> >
> > --------------------------------------------------------------------
> > -- 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