Ian, A bit more complete (but without the blocking problem fixed) follows:
jev_timer=: 3 : 'i.5' jjs'setTimeout("jdoajax([],\"\",\"jev_timer[0\");",4000);' Note that the name jev_timer input line is not shown as lines that start with jev_ are assumed to be events and are not logged. Let me know if you'd like the blocking problem fixed. On Thu, Jan 5, 2012 at 2:18 PM, Eric Iverson <eric.b.iver...@gmail.com>wrote: > Here is a very rough start on showing how to do a timer event for JHS. > > jjs'setTimeout("jdoajax([],\"\",\"a=: 123\");",4000);' > > Verb jjs executes javascript sentences. The setTimeout javascript sentence > runs its first arg (a javascript sentence) when 4 seconds has elapsed. The > \" sequence escapes the " and allows "s inside the quoted string. > > The next step is to replace the a=: 123 J sentence with a call to your > timer event handler. > > This solution is not complete because the ajax execution of the J sentence > is blocked if a J sentence is already running. This can be detected and > dealt with. This could be done by a more complicated jjs sentence that > requeues the setTimeout until it is allowed to execute. A better solution > would be that the core ajax framework recognize a blocked timer event and > to run it immediately after the blocking sentence has finished. > > If the above meets your requirements except for the blocking problem I > will clean things up and enhance the ajax request framework to run a > blocked timer event. > > > On Thu, Jan 5, 2012 at 2:03 PM, Eric Iverson <eric.b.iver...@gmail.com>wrote: > >> cd (calls to external libraries) works on all platforms and specifically >> J can use cd to call dylibs on Mac. However, the timer routine you referred >> to is windows only and I don't know of the mac equivalent. A dylib call is >> probably not the way to provide timer events for JHS regardless of server >> platform. >> >> >> On Thu, Jan 5, 2012 at 1:45 PM, David Mitchell <davidmitch...@att.net>wrote: >> >>> You are welcome, Ian. >>> >>> I am a bit curious about J support for dylibs. I currently do not have >>> any way >>> to try it myself, but the J DLL documentation does say: >>> >>> J can call procedures that are compiled in a shared library file. In >>> Windows >>> these files are called DLLs (dynamic link libraries) and have a .dll >>> extension. >>> In Linux they are called shared libraries or shared objects and have a >>> .so >>> extension. In Mac they are called dynamic libraries and have a .dylib >>> extension. >>> The term DLL is used here for all platforms. A procedure in a DLL is >>> called by >>> its name and filename. >>> >>> It is true that there may not be dylib functionality for Darwin that >>> matches >>> what Windows has for timer usage, but I saw a function >>> "dispatch_source_set_timer" in the GCD reference from Apple that seemed >>> as if it >>> might be a start. >>> >>> On 1/5/2012 12:54, Ian Clark wrote: >>> > Thanks, David. >>> > >>> > But this uses 'dll'. AFAIK there's no comparable way of calling dylibs >>> > in Darwin. >>> > >>> > On Thu, Jan 5, 2012 at 5:44 PM, David Mitchell<davidmitch...@att.net> >>> wrote: >>> >> Here is a version that works with J602 and J701 jconsole. It does >>> not work with >>> >> jhs or jgtk. I have not tested it extensively and it may have side >>> effects or >>> >> bugs that I haven't found yet. >>> >> >>> >> http://www.jsoftware.com/jwiki/Scripts/WindowsTimer >>> >> >>> >> On 1/5/2012 8:27, Ian Clark wrote: >>> >>> How do I get a timer in j701 jhs (or jconsole)? >>> >>> >>> >>> I've been assuming wd (11!:0) doesn't work at all in j701 (in j602 >>> >>> you'd do: 11!:0 'timer 3' for a callback in 3 secs). >>> >>> >>> >>> BTW J701 help ( >>> http://www.jsoftware.com/docs/help701/dictionary/dx011.htm) >>> >>> still refers to 11!:0 but I assume that's just because it's been >>> >>> overlooked...? >>> >>> >>> ---------------------------------------------------------------------- >>> >>> 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