bug-apl
[Top][All Lists]
Advanced

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

Re: [Bug-apl] )IN crashes


From: Juergen Sauermann
Subject: Re: [Bug-apl] )IN crashes
Date: Tue, 17 Jun 2014 14:44:22 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5

Hi  David,

I believe that native functions are a bit different from the "normal"
incompatibilities of user defined functions. The use of dyadic ⎕FX creates
an incompatible file format of the .atf files, while the other incompatibilities
merely create incompatible user defined functions.

Its like a letter written in a different language as opposed to a letter containing
some spelling mistakes.

I have added a note in the "native functions" chapter of the apl info file.

/// Jürgen


On 06/16/2014 07:02 PM, David B. Lamkins wrote:
Understood.

Given that perspective, I'd argue that )OUT should not warn about saving
a native function. After all, what's being saved is only an expression
using an extension to quad-FX.

GNU APL should, of course, continue to support the )out -> )in
round-trip of a workspace containing features specific to the
implementation.

Perhaps the documentation could include a notice similar to the
following:

")OUT writes the contents of the workspace in a format that may be
loaded by APL interpreters able to read an .atf file. APL interpreters
differ in their capabilities; the ability for another APL interpreter to
read an .atf file as written by GNU APL does not guarantee that the
saved .atf file will load and run. In the case where program interchange
is desired, it is the programmer's responsibility to write code that is
compatible with all APL interpreters of interest."


On Mon, 2014-06-16 at 16:26 +0200, Juergen Sauermann wrote:
Hi David,

it is generally impossible in APL to check if a function uses a
feature or not.

For example A ⎕CR B may or may not use dyadic ⎕CR (which is a GNU APL
extension),
depending on whether A is a variable or a function.

And )OUT simply dumps the function's ⎕CR without further analyzing it.

/// Jürgen


On 06/15/2014 09:45 PM, David B. Lamkins wrote:

Thank you. Confirmed working.

On a related note: would it make sense to also warn about other GNU APL
extensions when writing an )OUT file? I'm thinking in particular of
lambdas and defined-function axis notation; these don't seem to cause
problems with )OUT and )IN, but neither are they standard APL notation.

On Sun, 2014-06-15 at 16:19 +0200, Juergen Sauermann wrote:
Hi David,

thanks for isolating the fault. I fixed it in SVN 327.

The fault was created by native functions being )OUT-ed and )IN-ed.
They are now handled properly, but the file created by )OUT is no longer
suitable as workspace exchange file when it contains native functions
(because native functions are a GNU APL extension that will not be
understood
by other APL interpreters).

)OUT issues a warning for every native function being written.







reply via email to

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