There is already the SIGINT signal which is processed by GNU APL to
interrupt a function execution. However, this interruptability is not
extended to the layout function.


On 9 July 2014 09:09, Peter Teeson <[email protected]> wrote:

> In Sharp APL (IPSA) we had a "panic int" which interrupted whatever was
> being computed after a predetermined time.
> It was inherent to the interpreter because we ran a timesharing system.
> I don't recall the exact details but it went something like this;
>
> 1) Workspace gets swapped in for execution and is given a quantum of CPU
> time
> 2) At the end of that quantum a second but quite small (relative to the
> normal ) additional amount of CPU was allocated
>  to see if that would allow an interrupt at a "suitable" point in the
> function/operation that was going on.
> 3) If that extra time was not sufficient the workspace was arbitrarily
> interrupted and AFAICR the user got )CLEAR WS.
>
> That's probably not exactly correct (I never read the actual assembly code
> for that part of the interpreter).
> But the idea worked for us.
>
> On a single user system there is no real need for a specific quantum; the
> OS takes care of  scheduling.
> But perhaps a "panic int" concept in some form or other might be useful?
> Perhaps allowing the user to decide if they want to continue?
> Perhaps with a default value? Perhaps assignable by the user?
>
> respect…
>
> Peter
>
> On 2014-07-08, at 1:50 PM, Blake McBride <[email protected]> wrote:
>
> > If I do:
> >
> >       z←⍳1000000
> >
> > the operation is very fast.  But if I do:
> >
> >       ⍳1000000
> >
> > it is very slow, presumably because it is formatting the whole thing for
> display.  No problem.
> >
> > The problem is that during its effort to format for display, I cannot
> use ^C.  ^C appears to work fine in normal situations - but not during the
> format for display time.  During format-for-display time ^C is ignored.
> >
> > This caused me a problem when I accidentally mis-typed something.  The
> mis-type caused something very large to be displayed.  In fact, it was so
> large that my machine started paging.  I was unable to use ^C to stop it.
>  After waiting an hour, I had to kill the process and loose my work.
> >
> > Thanks.
> >
> > Blake
> >
>
>
>

Reply via email to