the file jversion.h is untracked and I forgot to change it back to j805. Don't worry, it was built from the j805 branch, and the version will be corrected when Eric builds anther official release.
Ср, 19 апр 2017, Herbert Weissenbaeck // Privat написал(а): > Same here. > Works now. Can use it from C#. Thank you. > However JVERSION says J806(...). Why so? > > > Sent from my iPhone > > > On 19 Apr 2017, at 13:24, David Mitchell <[email protected]> wrote: > > > > Bill, > > > > I loaded the new j dll and redid the external registration with your new > > j.dll. > > > > The Excel com tests now work with J805: > > > > jopen > > print jcmd("JVERSION") > > Engine: j806/j32/windows > > Beta: commercial/2017-04-19T23:40:20 > > Library: 8.05.14 > > Platform: Win 32 > > Installer: J805 install > > InstallPath: c:/users/me/downloads/j/j805 > > Contact: www.jsoftware.com > > > > Thanks, > > David Mitchell > > > >> On 4/19/2017 11:57, bill lam wrote: > >> Thanks David for the insight. > >> > >> I rebuilt the j805 j.dll again and uploaded to > >> www.jsoftware.com/download/jengine/j805-release/windows/j32 > >> j_rebult2.dll > >> > >> Only the typelib has changed, all other j engine source should > >> be the same as j805-release-a. > >> > >> I tested it ok on vs2013 and vs2017. Hopefully the issue is now > >> resolved. > >> > >> Вт, 18 апр 2017, Herbert Weissenbaeck // Privat написал(а): > >>> Thank you. Interesting observation. > >>> Any chance to get that fixed/patched in J805? > >>> > >>>> On 18 Apr 2017, at 13:27, David Mitchell <[email protected]> wrote: > >>>> > >>>> Folks, > >>>> > >>>> I tried some tests using Excel's com interface and j.dll from j602, > >>>> j804, j805 and j64-806, all on Windows 10. I found these things. > >>>> > >>>> 1. The built-in registration with j602 ("%~dp0j.exe" /regserver) > >>>> continues to work. It registered j.exe and j.dll and I was able to use > >>>> j.dll in Excel macros after selecting the JDLLServer Type Library in > >>>> References-VBA Project. > >>>> > >>>> 2. External registration of j.dll in j804 worked fine (regsvr32 > >>>> bin\j.dll). I was able to use the J804 j.dll in Excel as above. > >>>> > >>>> 3. External registration of j805 said it worked, but JDLLServer Type > >>>> Library did not show up in Excel. > >>>> > >>>> 4. I ran some Registry searches and found that with j602 and j804, there > >>>> were a set of keys created starting with this ID: > >>>> HKEY_CLASSES_ROOT\TypeLib\{21EB05EB-1AB3-11CF-A2AC-8FF70874C460} > >>>> HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{21EB05EA-1AB3-11CF-A2AC-8FF70874C460} > >>>> HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{21EB05EB-1AB3-11CF-A2AC-8FF70874C460} > >>>> that defined the JDLLServer Type Library and JDLLServer. > >>>> > >>>> 5. In J805, the Registry keys that were created by the registration > >>>> process for JDLLServer Type Library were these: > >>>> HKEY_CLASSES_ROOT\TypeLib\{00000000-0000-0000-0000-000000000000} > >>>> HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{00000000-0000-0000-0000-000000000000} > >>>> HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{00000000-0000-0000-0000-000000000000} > >>>> which were not seen by Excel. > >>>> > >>>> 6. I tried the following grep's in the various bin directories: > >>>> > >>>> C:\Users\me\j602\bin>grep -i 8FF70874C460 * > >>>> Binary file j.dll matches > >>>> Binary file j.exe matches > >>>> > >>>> C:\Users\me\j804\bin>grep -i 8FF70874C460 * > >>>> Binary file j.dll matches > >>>> Binary file jqt.exe matches > >>>> > >>>> C:\Users\me\Downloads\j\j805\bin>grep -i 8FF70874C460 * > >>>> Binary file jqt.exe matches > >>>> (no j.dll) > >>>> > >>>> C:\Users\me\Downloads\j\j64-806\bin>grep -i 8FF70874C460 * > >>>> Binary file jqt.exe matches > >>>> (no j.dll) > >>>> > >>>> So it appears that starting in J805, the J dll no longer has a non-zero > >>>> UUID for registering j.dll. > >>>> > >>>> David Mitchell > >>>> > >>>>> On 4/15/2017 07:45, Herbert Weissenbaeck // Privat wrote: > >>>>> no success with vs 2015 and vs 2017. > >>>>> same error as before. > >>>>> have installed the new dll, unregistered and re-registered with > >>>>> syswow64\regsvr32. > >>>>> > >>>>> Sent from my iPhone > >>>>> > >>>>>> On 15 Apr 2017, at 07:17, Herbert Weissenbaeck // Privat > >>>>>> <[email protected]> wrote: > >>>>>> > >>>>>> Is there a chance to have the j805 j.dll re-built in a way that makes > >>>>>> it usable? > >>>>>> I need a functioning j.dll for serious work/calculations and would > >>>>>> prefer not to use a beta version but the latest stable release. Or is > >>>>>> j806 beta considered safe and stable enough? > >>>>>> > >>>>>> Sent from my iPhone > >>>>>> > >>>>>>> On 15 Apr 2017, at 01:52, bill lam <[email protected]> wrote: > >>>>>>> > >>>>>>> There should be some mistake when building the j805 j.dll. > >>>>>>> However j806 beta seems working again. > >>>>>>> > >>>>>>> > >>>>>>> Пт, 14 апр 2017, Herbert Weissenbaeck // Privat написал(а): > >>>>>>>> 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 > >>>>>>> > >>>>>>> -- > >>>>>>> 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 > >>> > >>> > >>> ---------------------------------------------------------------------- > >>> 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
