[Jprogramming] Foreigns

Martin Kreuzer info at airkreuzer.com
Thu Apr 21 14:20:07 UTC 2016


Don -
As (exit=: 2!:55) in stdlib.ijs showed it being simply a synonym, I 
now understand
Bill -
your suggestion to handle these (sdt=: 6!:0), (ppchk=: 9!:10) ... in 
a similar manner.
-M

At 2016-04-17 13:32, you wrote:
>"exit" is defined in 'system/main/stdlib.ijs' at line 226 in J804. J 
>provides tools for timer events (see QT Demos/timer) but these timer 
>events won't run until J is ready for input. So a noun like a 
>current minute will not update while a long running script is 
>running. If it is that you want a noun that is updated by an 
>external event like the time of day it may be overkill, but you 
>could share a name with another instance of J which only runs a 
>timer and updates the name when something like the current minute 
>changes. On Sun, Apr 17, 2016 at 2:59 AM, Martin Kreuzer 
><info at airkreuzer.com> wrote: > Don - > Thanks for reminding me of 
>the shortcut to minutes via (4{sdt). > > Don, Bill - > Thanks for 
>your suggestion defining the stuff as a verb (I did some > 
>experimenting along that road), but that doesn't put away the need 
>to call > it with an empty string as a parameter (sdt '') (mins ''). 
>And I think that > anwers my original question: it is always needed 
>... > btw, (exit y) being a "wrapper" for (2!:55 y), could you point 
>me to its > (exit) definition..? > > Raul - > Thanks for pointing me 
>to the (wd) command reference (I wasn't aware of > that). > I 
>successfully tried your timer example (having first experienced the 
>need > for cleanup :), but only while calling the verbs with 
>parameter (sdt '') > resp (mins'') -- different to what you cited in 
>your mail where you seem to > have used (sdt) solely ... > > -M > > 
>At 2016-04-16 18:18, you wrote: > >> In addition to bill lam's 
>excellent advice, there's also >> 
>http://code.jsoftware.com/wiki/Guides/Window_Driver/Command_Reference 
>  >> which may interest you. Consider, for example:    wd 'timer 
>30000' |value >> error: sys_timer_z_ |   (i.0 
>0)"_     sys_timer_z_$0 |value error: >> sys_timer_z_ |   (i.0 
>0)"_     sys_timer_z_$0 |value error: sys_timer_z_ | >>  (i.0 
>0)"_     sys_timer_z_$0 Now, if I define:    sys_timer_z_=: verb 
>def >> 'sdt=: 6!:0 y' and wait for the timer event to go off, I have 
>a value for >> sdt And, now that I see that it's working (so I do 
>not have to shut down my >> J session to regain control), I can make 
>the timer event run more often: >> sdt 2016 4 16 14 11 27.4896    wd 
>'timer 1'    sdt 2016 4 16 14 12 30.5991 >>   sdt 2016 4 16 14 12 
>31.4788 Here, I have asked jqt to keep executing that >> command 
>line ((i.0 0)"_    sys_timer_z_$0) once every millisecond 
>whenever >> I'm not doing anything else. (The way it works, if 
>something long running >> is happening, that command line can't be 
>run, so those events get skipped.) >> But maybe keep in mind mickey 
>mouse's experience in fantasia (the >> sorcerer's apprentice): if 
>this gets out of control, you'll have quite a >> mess to clean up. I 
>hope this helps, -- Raul On Sat, Apr 16, 2016 at 9:24 >> AM, bill 
>lam <bbill.lam at gmail.com> wrote: > std is a noun, (or a value >> in 
>other programming languages). It is usually > immutable.  Just 
>curious, >> why didn't you write > sdt=: 6!:0 > ppchk=: 9!:10 > or > 
>sdt=: 3 : '6!:0 y' >> > > min=: 3 :0 > {: 5 {. sdt y > ) > > For the 
>other question, IEEE double >> precision is limited to 15 or 16 > 
>significant digits, so that print >> precision cannot improve 
>accuracy. > On Apr 16, 2016 6:48 PM, "Martin >> Kreuzer" 
><info at airkreuzer.com> wrote: > >> One of my teachers once told >> me 
>"It's even sillier to not ask a silly >> question" ... so here I 
>go: >> >> >> Extracting SystemDateTime I do get a vector like 
>this >>    ] sdt=. 6!:0 >> '' >> 2016 4 16 9 12 59.257 >> which 
>-from now on- has that value >>    sdt >> >> 2016 4 16 9 12 
>59.257 >> >> To get the current minute I might do >> something 
>like >>    ] mins=. {: 5 {. sdt >> 12 >> which gives the same >> 
>result some time after, unless I explicitely do >>    ] mins=. {: 5 
>{. >> sdt=. 6!:0 '' >> 30 >> >> Q: >> Is there a way to sort of 
>"wrap" the >> foreign (6!:0 '') so that "sdt" will >> show the 
>_current_ date/time string >> when called..? >> (Sorry if I missed 
>to make myself clear.) >> >> Same >> question arose when e.g. trying 
>stuff like >> -- check print precision >> >>   ppchk=. 9!:10 '' >> 
>-- set print precision >>    ppset=. 3 : '9!:11 (y)' >> NB. seems to 
>work ... >>    ppset 7 >> >>    9!:10 '' >> 7 >>    ppchk >> 
>7 >> >>    ppset 11 >> >>    9!:10 '' >> 11 >>    ppchk  NB. has (of 
>course) >> still the previous value ... >> 7 >> >> And (again) here 
>comes the silly >> >> Q: >> Is there a way to define "sdt" or 
>"ppchk" (from above) so that they >> >> immediately react to changes 
>to the environment..? >> (Looks to me if >> I'm asking for a verb 
>without a noun to act on; is that >> the moment the >> empty string 
>('') comes into play and the dog chases its >> tail..?) >> >> >> 
>-M >> >> >> 
>---------------------------------------------------------------------- 
>  >> >> 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



More information about the Programming mailing list