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 <
juergen.sauerm...@t-online.de> 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