I tried to refer to the j.dll directly. VS tells me "A reference to (path...)\j.dll could not be added"
i wonder, why j804 behaves differently. Sent from my iPhone > On 14 Apr 2017, at 08:35, bill lam <[email protected]> wrote: > > not sure why it can not add reference in vs. actually you don't have to > add jdllserver to reference if you don't need intelligent sense. > > On 14 Apr, 2017 7:57 pm, "Herbert Weissenbaeck // Privat" < > [email protected]> wrote: > >> bill, >> thank you for your support. >> using syswow64/regsvr32 does not give any error message, confirms that the >> dll is registered, but does not resolve my problem. the error message i >> receive when trying to add the reference to J DLL Server in VS remains >> unchanged. >> best >> herbert >> >> Sent from my iPhone >> >>> On 14 Apr 2017, at 00:36, bill lam <[email protected]> wrote: >>> >>> sorry, it should be syswow64 >>> >>> Пт, 14 апр 2017, bill lam написал(а): >>>> From your previous msg, it said >>>> 'C:\Program Files\j805\bin\j.dll' >>>> >>>> please check this is a J32 installation and have registered it >>>> using wow64/regsvr32. >>>> >>>> Чт, 13 апр 2017, Herbert Weissenbaeck // Privat написал(а): >>>>> I am actually compiling for 32bits (x86) only. (That's sufficient for >> this stage of my development.) >>>>> >>>>> Sent from my iPhone >>>>> >>>>>> On 13 Apr 2017, at 22:22, bill lam <[email protected]> wrote: >>>>>> >>>>>> 32-bit inproc server must be used with an 32-application. >>>>>> 32-bit out-of-process server can be used with either 32 or >>>>>> 64 application. Please confirm what are the intended 32/64 bit >>>>>> version of jdllserver and application (not visual studio). >>>>>> >>>>>> jdllserver is in-proc server so that 32/64 bit must match, with >>>>>> application. use regsvr32 inside wow64 folder to register the >>>>>> 32-bit j.dll >>>>>> >>>>>> Чт, 13 апр 2017, Herbert Weissenbaeck // Privat написал(а): >>>>>>> Robert, >>>>>>> >>>>>>> coincidentally I had the last Windows update just one hour ago; but >> the problem was there before and after. >>>>>>> >>>>>>> I am presently traveling and have no access to any other computer >> than my notebook; thus I can not try to replicate my problem on another >> machine. >>>>>>> >>>>>>> (I am using VS 2017 Enterprise on an English Windows 10 an a >> ThinkPad P50 Xeon machine to develop an app that connects to J DLL Server. >> Had 804 so far but would like to switch to 805.) >>>>>>> >>>>>>> Is anybody successfully using the 32 bit 805 DLL Server from VS in a >> .net application? >>>>>>> >>>>>>> Best >>>>>>> Herbert >>>>>>> >>>>>>>> On 13 Apr 2017, at 21:09, robert therriault <[email protected]> >> wrote: >>>>>>>> >>>>>>>> Herbert, >>>>>>>> >>>>>>>> This may not be related at all, but is this recent? I read that >> Windows 10 had the Creative update pushed on it in the last couple of days >> and if it was like the last time it may break some things. Not sure why it >> would affect 805 and not 804. ;-) >>>>>>>> >>>>>>>> http://www.infoworld.com/article/3189776/microsoft- >> windows/microsofts-critical-windows-and-office-patches- >> present-a-panoply-of-problems.html >>>>>>>> >>>>>>>> Cheers, bob >>>>>>>> >>>>>>>>> On Apr 13, 2017, at 5:57 PM, Herbert Weissenbaeck // Privat < >> [email protected]> wrote: >>>>>>>>> >>>>>>>>> Thank you. Tried to run vs as admin. >>>>>>>>> same result >>>>>>>>> >>>>>>>>> uninstalled and re-installed j805 into users directory. >>>>>>>>> same (negative) result. >>>>>>>>> >>>>>>>>> I can however use J EXE Server via COM also in the 805 version >> (but want J DLL Server, which still gives me an error). >>>>>>>>> >>>>>>>>> Any more ideas? >>>>>>>>> >>>>>>>>> Sent from my iPhone >>>>>>>>> >>>>>>>>>> On 13 Apr 2017, at 20:18, bill lam <[email protected]> wrote: >>>>>>>>>> >>>>>>>>>> I am not sure. IIRC It works for me. Perhaps it is a security >> issue. try >>>>>>>>>> run visual studio as admin. >>>>>>>>>> >>>>>>>>>> program files is protected, not sure if this is related to your >> problem. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 14 Apr, 2017 7:48 am, "Herbert Weissenbaeck // Privat" < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>> its regsvr32 without the "/r", i suppose. >>>>>>>>>> >>>>>>>>>> in an admin console the registration seems to work. the J DLL >> Server >>>>>>>>>> (version 3) type library shows up in visual studio with file >> version 805. >>>>>>>>>> (the j804 one showed file version 701.) >>>>>>>>>> >>>>>>>>>> however selecting it gives an error: "A reference to 'J DLL >> Server (version >>>>>>>>>> 3) Type Library' could not be added. Could not register the >> ActiveX type >>>>>>>>>> library 'C:\Program Files\j805\bin\j.dll'. >>>>>>>>>> >>>>>>>>>> the same thing works without any problem with j804. why? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Sent from my iPhone >>>>>>>>>> >>>>>>>>>>> On 13 Apr 2017, at 19:22, bill lam <[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> typo, regsvr32 >>>>>>>>>>> >>>>>>>>>>>> On 14 Apr, 2017 7:21 am, "bill lam" <[email protected]> >> wrote: >>>>>>>>>>>> >>>>>>>>>>>> jdllserver should work for all versions. try open an admin >> command prompt >>>>>>>>>>>> at bin folder and type >>>>>>>>>>>> regvsr32 /r j.dll >>>>>>>>>>>> >>>>>>>>>>>> On 14 Apr, 2017 6:17 am, "Herbert Weissenbaeck // Privat" < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>> On my Windows 10 machine J805 fails to register as a COM Server. >>>>>>>>>>>> >>>>>>>>>>>> When I use jreg.cmd under 804 I get a "J DLL Server (version 3) >> Type >>>>>>>>>>>> Library" in the kist of available Type Libraries in MS Visual >> Studio. >>>>>>>>>>>> >>>>>>>>>>>> When I do the same with J805, no type library is registered. >>>>>>>>>>>> >>>>>>>>>>>> Is this a bug or a feature? I would prefer working with 805 >> over 804. >>>>>>>>>>>> >>>>>>>>>>>> Any hints/fixes? >>>>>>>>>>>> >>>>>>>>>>>>> On 13 Apr 2017, at 16:23, 'Bo Jacoby' via Programming < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Hi Louis. >>>>>>>>>>>>> Thanks for asking. I regret not knowing the answer. >>>>>>>>>>>>> An ordinal fraction is like an array in J, with minor >> differences. >>>>>>>>>>>>> - Arrays have names. Ordinal fractions have numbers. >>>>>>>>>>>>> - An array has a finite number of dimensions. An ordinal >> fraction has >>>>>>>>>>>> an infinite number of dimensions. >>>>>>>>>>>>> - Arrays may have different shapes. All ordinal fractions have >> the >>>>>>>>>>>> same shape: 9 9 9 9 . . . >>>>>>>>>>>>> - Arrays have zero-origin indexing (0 1 . . . n). Ordinal >> fractions >>>>>>>>>>>> have one-origin indexing (1 2 3 4 5 6 7 8 9). >>>>>>>>>>>>> >>>>>>>>>>>>> - Arrays have elements. Ordinal fractions do not have elements. >>>>>>>>>>>>> - Arrays may have subarrays. All ordinal fractions have >> subordinate >>>>>>>>>>>> ordinal fractions. >>>>>>>>>>>>> - Array elements contain data. Any ordinal fraction may >> contain a data >>>>>>>>>>>> element. >>>>>>>>>>>>> Ordinal fractions were invented (by me) in 1980, but have had >> limited >>>>>>>>>>>> dissemination so far. I made programs in fortran and pascal and >> basic for >>>>>>>>>>>> manipulating ordinal fraction files, but I have not managed to >> do it in >>>>>>>>>> J. >>>>>>>>>>>> The programs were general, because the logic is in the data >> file and not >>>>>>>>>> in >>>>>>>>>>>> the program. I have been alone doing this. >>>>>>>>>>>>> Thanks! Bo. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Den 20:08 torsdag den 13. april 2017 skrev Louis de Forcrand < >>>>>>>>>>>> [email protected]>: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Hi Bo, >>>>>>>>>>>>> This is cool. >>>>>>>>>>>>> >>>>>>>>>>>>> As for the way you suggest using it here, isn't it equivalent >> to >>>>>>>>>>>> (without the first six rows of your data): >>>>>>>>>>>>> >>>>>>>>>>>>> (~.@[ ,. +//.)/@|: >>>>>>>>>>>>> ? >>>>>>>>>>>>> >>>>>>>>>>>>> Louis >>>>>>>>>>>>> >>>>>>>>>>>>>> On 12 Apr 2017, at 21:57, 'Bo Jacoby' via Programming < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Joe! >>>>>>>>>>>>>> My favorite datastructure is ORDINAL FRACTIONS - the algebra >> of data >>>>>>>>>>>>>> >>>>>>>>>>>>>> | >>>>>>>>>>>>>> | >>>>>>>>>>>>>> | >>>>>>>>>>>>>> | | | >>>>>>>>>>>>>> >>>>>>>>>>>>>> | >>>>>>>>>>>>>> >>>>>>>>>>>>>> | >>>>>>>>>>>>>> | >>>>>>>>>>>>>> | | >>>>>>>>>>>>>> ORDINAL FRACTIONS - the algebra of data >>>>>>>>>>>>>> This paper was submitted to the 10th World Computer Congress, >> IFIP 1986 >>>>>>>>>>>> conference, but rejected by the referee.... | | >>>>>>>>>>>>>> >>>>>>>>>>>>>> | >>>>>>>>>>>>>> >>>>>>>>>>>>>> | >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Your data are coded like this >>>>>>>>>>>>>> 10 Joe >>>>>>>>>>>>>> 20 Bob >>>>>>>>>>>>>> 30 Jane >>>>>>>>>>>>>> 01 blue >>>>>>>>>>>>>> 02 red >>>>>>>>>>>>>> 03 purple >>>>>>>>>>>>>> 11 1 >>>>>>>>>>>>>> 11 -1 >>>>>>>>>>>>>> 11 1 >>>>>>>>>>>>>> 22 1 >>>>>>>>>>>>>> 22 1 >>>>>>>>>>>>>> 22 3 >>>>>>>>>>>>>> 22 -1 >>>>>>>>>>>>>> 22 -1 >>>>>>>>>>>>>> 33 5 >>>>>>>>>>>>>> 33 -2 >>>>>>>>>>>>>> 33 2 >>>>>>>>>>>>>> (Written with double CRs because the mail program has a >> history of >>>>>>>>>>>> deleting my CRs). >>>>>>>>>>>>>> Summation gives the result >>>>>>>>>>>>>> 10 Joe >>>>>>>>>>>>>> 20 Bob >>>>>>>>>>>>>> 30 Jane >>>>>>>>>>>>>> 01 blue >>>>>>>>>>>>>> 02 red >>>>>>>>>>>>>> 03 purple >>>>>>>>>>>>>> 11 1 >>>>>>>>>>>>>> 22 3 >>>>>>>>>>>>>> >>>>>>>>>>>>>> 33 5 >>>>>>>>>>>>>> I have not done the summation in J, but I'd like to do it. >>>>>>>>>>>>>> Perhaps this helps you. >>>>>>>>>>>>>> Bo. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Den 0:04 torsdag den 13. april 2017 skrev chris burke < >>>>>>>>>>>> [email protected]>: >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Incidentally, for production code, I suggest starting by >> removing any >>>>>>>>>>>> sales >>>>>>>>>>>>>> not matched in returns and vice versa, so that the matching >> algorithm >>>>>>>>>> is >>>>>>>>>>>>>> applied only to potential matches. >>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 2:53 PM, chris burke < >> [email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Great. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> In case you need more complicated handling of the "gray area" >>>>>>>>>>>>>>> transactions, I believe they would be relatively few in >> number, so >>>>>>>>>>>> most of >>>>>>>>>>>>>>> the time you could do the matching efficiently, then check >> for any >>>>>>>>>> keys >>>>>>>>>>>>>>> with returns preceding sales. For those, setting aside the >> first such >>>>>>>>>>>>>>> return and repeating should clear them quickly. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Timing should be well under 1 second for a million records. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 1:57 PM, Joe Bogner < >> [email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Just for completeness, I added a line that incorporates the >> sequence >>>>>>>>>>>> check >>>>>>>>>>>>>>>> into the cancel logic. Works great >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> NB. hui progressive index >>>>>>>>>>>>>>>> NB. http://code.jsoftware.com/ >> wiki/Essays/Progressive_Index-Of >>>>>>>>>>>>>>>> oc=: i.~ (] - {) /:@/: >>>>>>>>>>>>>>>> pi=: #@[ ({. i.&(,.oc) }.) [ i. , >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> NB. argument is 3-col table of seq,key,qty >>>>>>>>>>>>>>>> NB. result is the unmatched transactions >>>>>>>>>>>>>>>> matchtrans=: 3 : 0 >>>>>>>>>>>>>>>> msk=. 0<{:"1 y >>>>>>>>>>>>>>>> sales=. msk#y >>>>>>>>>>>>>>>> returns=. (-.msk)#y >>>>>>>>>>>>>>>> ndx=. (}."1 sales) pi | }."1 returns >>>>>>>>>>>>>>>> cancels=. ndx<#sales >>>>>>>>>>>>>>>> NB. ensure cancel is after sale >>>>>>>>>>>>>>>> cancels =. cancels *. (({."1 (<<(cancels)#ndx){sales) < >> ({."1 >>>>>>>>>>>>>>>> (cancels#returns))) >>>>>>>>>>>>>>>> ((<<<cancels#ndx){sales),(-.cancels)#returns >>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 4:14 PM, Joe Bogner < >> [email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Chris, this looks promising. Thanks for sharing. It's >> nearly instant >>>>>>>>>>>> on >>>>>>>>>>>>>>>> a >>>>>>>>>>>>>>>>> million rows. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Which row had a return before a transaction? seq 10 was an >> example >>>>>>>>>>>> of a >>>>>>>>>>>>>>>>> partial return. The hypothetical customer returned 2 out >> of the 5 >>>>>>>>>>>>>>>> purchased >>>>>>>>>>>>>>>>> prior. I added that example since technically per the >> original spec >>>>>>>>>>>> it >>>>>>>>>>>>>>>>> wouldn't be cancelled out in this pass. It's a gray area >> so I may >>>>>>>>>> be >>>>>>>>>>>>>>>> able >>>>>>>>>>>>>>>>> to use this approach, especially since I don't see how to >>>>>>>>>> incorporate >>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>> time element into the progressive index. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks again >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 3:52 PM, chris burke < >> [email protected]> >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> This might be done by comparing matrices of sales and >> returns. The >>>>>>>>>>>>>>>>>> function >>>>>>>>>>>>>>>>>> below seems to be close to what you want. It doesn't >> exactly match >>>>>>>>>>>> your >>>>>>>>>>>>>>>>>> example, but your example has cases where returns are >> made before >>>>>>>>>>>> the >>>>>>>>>>>>>>>>>> transactions. Was this intentional? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The code should run faster than a looping solution. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Code: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> NB. hui progressive index >>>>>>>>>>>>>>>>>> NB. http://code.jsoftware.com/ >> wiki/Essays/Progressive_Index-Of >>>>>>>>>>>>>>>>>> oc=: i.~ (] - {) /:@/: >>>>>>>>>>>>>>>>>> pi=: #@[ ({. i.&(,.oc) }.) [ i. , >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> NB. argument is 3-col table of seq,key,qty >>>>>>>>>>>>>>>>>> NB. result is the unmatched transactions >>>>>>>>>>>>>>>>>> matchtrans=: 3 : 0 >>>>>>>>>>>>>>>>>> msk=. 0<{:"1 y >>>>>>>>>>>>>>>>>> sales=. msk#y >>>>>>>>>>>>>>>>>> returns=. (-.msk)#y >>>>>>>>>>>>>>>>>> ndx=. (}."1 sales) pi | }."1 returns >>>>>>>>>>>>>>>>>> cancels=. ndx<#sales >>>>>>>>>>>>>>>>>> ((<<<cancels#ndx){sales),(-.cancels)#returns >>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Example: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> dat=: ".;._2 (0 : 0) >>>>>>>>>>>>>>>>>> 1 1 1 >>>>>>>>>>>>>>>>>> 2 1 _1 >>>>>>>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>>>>>>> 4 2 1 >>>>>>>>>>>>>>>>>> 5 2 1 >>>>>>>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>>>>>>> 7 2 _1 >>>>>>>>>>>>>>>>>> 8 2 _1 >>>>>>>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>>>>>>> 10 3 _2 >>>>>>>>>>>>>>>>>> 11 3 2 >>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> matchtrans dat >>>>>>>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 9:35 AM, Joe Bogner < >> [email protected]> >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I have a problem I'm trying to solve in different >> languages. I >>>>>>>>>>>> have a >>>>>>>>>>>>>>>>>>> solution in SQL and also in kdb which largely resembles >> the SQL >>>>>>>>>>>>>>>>>> solution. >>>>>>>>>>>>>>>>>>> I'm curious what a J solution would look like. More >> specifically, >>>>>>>>>>>> I'm >>>>>>>>>>>>>>>>>>> interested in picking the brains of others here to see >> if this >>>>>>>>>> type >>>>>>>>>>>>>>>> of >>>>>>>>>>>>>>>>>>> problem can be solved without looping (some form of >> scan?). >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> EDIT: Initially I wrote this up thinking the J solution >> would >>>>>>>>>>>>>>>> difficult, >>>>>>>>>>>>>>>>>>> but it was actually fairly straightforward -- about 15 >> minutes, >>>>>>>>>> but >>>>>>>>>>>>>>>>>> still >>>>>>>>>>>>>>>>>>> would like to see if there are alternatives. If nothing >> else, >>>>>>>>>> maybe >>>>>>>>>>>>>>>> an >>>>>>>>>>>>>>>>>>> interesting problem to share. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Example data: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> A store has a transaction log with a sequence for each >>>>>>>>>> transaction. >>>>>>>>>>>>>>>> The >>>>>>>>>>>>>>>>>>> transaction log records a key for a unique customer/item >>>>>>>>>>>> combination. >>>>>>>>>>>>>>>>>> The >>>>>>>>>>>>>>>>>>> transaction log records how many units were purchased or >> returned. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Goal: >>>>>>>>>>>>>>>>>>> Attempt to match up related transactions and cancel out >> instances >>>>>>>>>>>>>>>> when >>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>> customer/item combination is returned at the same >> quantity as a >>>>>>>>>>>>>>>> previous >>>>>>>>>>>>>>>>>>> transaction >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Examples: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Joe buys 1 blue pen, which is defective, then returns >> the 1 >>>>>>>>>>>> defective >>>>>>>>>>>>>>>>>> blue >>>>>>>>>>>>>>>>>>> pen, then buys another blue pen. EXPECTED: cancel out >> first two >>>>>>>>>>>>>>>>>>> transactions and leave the the last one for 1 pen >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Bob buys 2 red pens in two separate transactions. He >> then buys 3 >>>>>>>>>>>>>>>> more. >>>>>>>>>>>>>>>>>> He >>>>>>>>>>>>>>>>>>> returns the first two purchases as two separate return >>>>>>>>>>>> transactions. >>>>>>>>>>>>>>>>>>> EXPECTED: cancel out all transactions except the one for >> qty 3 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Jane buys 5 purple pens and subsequently returns two of >> them. She >>>>>>>>>>>>>>>> buys >>>>>>>>>>>>>>>>>> two >>>>>>>>>>>>>>>>>>> more. EXPECTED: No transactions match exactly, so >> nothing is >>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>> out >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Data: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> data=: 0 : 0 >>>>>>>>>>>>>>>>>>> seq key qty >>>>>>>>>>>>>>>>>>> 1 1 1 >>>>>>>>>>>>>>>>>>> 2 1 _1 >>>>>>>>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>>>>>>>> 4 2 1 >>>>>>>>>>>>>>>>>>> 5 2 1 >>>>>>>>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>>>>>>>> 7 2 _1 >>>>>>>>>>>>>>>>>>> 8 2 _1 >>>>>>>>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>>>>>>>> 10 3 _2 >>>>>>>>>>>>>>>>>>> 11 3 2 >>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>> tbl =: ,. ' ' cut every cutLF data >>>>>>>>>>>>>>>>>>> 'seqs keys qtys' =: |: ". every }. tbl >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Goal: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> goals =: 0 : 0 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> goal >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> credit >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> credit >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> credit >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> tbl,.(cutLF goals) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |seq|key|qty|goal | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |1 |1 |1 |cancelled| >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |2 |1 |_1 |credit | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |3 |1 |1 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |4 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |5 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |6 |2 |3 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |7 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |8 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |9 |3 |5 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |10 |3 |_2 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |11 |3 |2 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> One approach: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> applycredits =: 3 : 0 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> goals=.(<'goal') >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> creditids=.0 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> for_i. (i. # seqs) do. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> key=.i{keys >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> seq=.i{seqs >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> qty=.i{qtys >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> nextcredit =.| {. qtys #~ ((key=keys)*(seqs>seq)*(qtys< >> 0)) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> if. nextcredit = qty do. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> goals=.goals,<'cancelled' >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> creditids =. creditids, seqs #~ >> ((key=keys)*(seqs>seq)*(qtys<0)) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> elseif. creditids e.~ seq do. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> goals=.goals,<'credit' >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> elseif. do. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> goals=.goals,<'ok' >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> end. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> end. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> goals >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> tbl ,. ( applycredits 0 ) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |seq|key|qty|goal | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |1 |1 |1 |cancelled| >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |2 |1 |_1 |credit | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |3 |1 |1 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |4 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |5 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |6 |2 |3 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |7 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |8 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |9 |3 |5 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |10 |3 |_2 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> |11 |3 |2 |ok | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> (cutLF goals) -: ( applycredits 0 ) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 1 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> thanks for any input >>>>>>>>>>>>>>>>>>> ------------------------------ >> ------------------------------ >>>>>>>>>>>>>>>> ---------- >>>>>>>>>>>>>>>>>>> For information about J forums see >> http://www.jsoftware.com/forum >>>>>>>>>>>>>>>> s.htm >>>>>>>>>>>>>>>>>> ------------------------------ >> ------------------------------ >>>>>>>>>>>> ---------- >>>>>>>>>>>>>>>>>> For information about J forums see >> http://www.jsoftware.com/forum >>>>>>>>>>>> s.htm >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> ------------------------------ >> ------------------------------ >>>>>>>>>>>> ---------- >>>>>>>>>>>>>>>> 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 >>>>>>> >>>>>>> ------------------------------------------------------------ >> ---------- >>>>>>> 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 --recv-keys 4434BAB3 >>>>>> 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 >>>> >>>> -- >>>> regards, >>>> ==================================================== >>>> GPG key 1024D/4434BAB3 2008-08-24 >>>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >>>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 >>> >>> -- >>> regards, >>> ==================================================== >>> GPG key 1024D/4434BAB3 2008-08-24 >>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >>> 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 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
