I believe your original question was wether it was possible to remove the '' 
after a verb. This is called a niladic (like monadic/dyadic) verb in APL, but 
is not possible in J.

If you wish to "fix" an argument to a verb, you can do so by creating a 
constant verb that returns the argument in question, so as to discard the 
actual argument you call the verb with:

f=: u@(m"_)
"f y" would execute monadic u with argument m regardless of y.
There is a stdlib conjunction called "bind" that does exactly this.

Best regards,
Louis

Sent from my iPhone

> On 21 Apr 2016, at 16:20, Martin Kreuzer <[email protected]> wrote:
> 
> 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 
>> <[email protected]> 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 <[email protected]> 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" <[email protected]> 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
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to