bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] Execution properties - "cannot be suspended" bit


From: David Lamkins
Subject: Re: [Bug-apl] Execution properties - "cannot be suspended" bit
Date: Wed, 9 Jul 2014 07:37:42 -0700

Thank you. Confirmed working.

With this change, I believe that the component function library conforms to the ISO spec.

https://github.com/TieDyedDevil/iso-apl-cf



On Wed, Jul 9, 2014 at 6:11 AM, Juergen Sauermann <address@hidden> wrote:
Hi David,

thanks, I have changed the code so that all user-defined functions with
the cannot be suspended" attribute at the top of the )SI stack are pop'ed
before a new immediate execution context is pushed onto )SI. SVN 369.

I hope this is what the standard wants - the information about these
cases is rather thin in both the ISO standard and in the APL2 manual.

I am not always following APL2 when it comes to hiding details of errors, locked
functions and similar because some of that does IMHO not make much sense in
open-source programs.

/// Jürgen



On 07/08/2014 05:18 AM, David B. Lamkins wrote:
The ISO spec for the component file interface says: "The functions
described here must be written so that they do not suspend. Any errors
encountered or detected must be passed to the context from which the
function was invoked."

I believe that means that the function's "cannot be suspended" attribute
must be set.

I've arranged for each function in the component file API to have the
"cannot be suspended" bit set using
       0 1 0 0⎕fx ⎕cr 'function name'

Errors in the functions so attributed still display the line number at
which the error occurred. According to pg. 295 of the ISO spec, I should
see only the function name on the state indicator.







--
"The secret to creativity is knowing how to hide your sources."
   Albert Einstein


http://soundcloud.com/davidlamkins
http://reverbnation.com/lamkins
http://reverbnation.com/lcw
http://lamkins-guitar.com/
http://lamkins.net/
http://successful-lisp.com/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]