Here's another construct it doesn't like. Functions that have only headers.
[IBM APL2]
)CLEAR
CLEAR WS
∇Z←FUN X
[1] ∇
)OUT OUT
[GNU APL]
)IN OUT
inverse 2 ⎕TF failed for the following APL statement:
⎕FX 1⍴⊂'Z←FUN X'
On Mon, Aug 31, 2015 at 5:53 AM, Juergen Sauermann <
[email protected]> wrote:
> Hi Mike,
>
> it would help if you could provide the file *OUT* for which the *)IN*
> command fails.
>
> Generally speaking, *)IN* is an very dangerous command because it
> executes (*⍎*)
> the records in the file in order to reconstruct a workspace, and it will
> do whatever
> the producer of the file wants to do (with your permissions).
>
> For that reason, GNU APL does *not* use execute (*⍎*) in order to
> implement *)IN* (or *2 ⎕T**F*),
> but has a special parser to process the records. That special parser is
> limited in what APL functions
> it allows. Unfortunately there exist no specification as to which APL
> functions can be used in *2 ⎕TF*
>
> The pattern below (*'M←¯12-⎕IO-⍳25'*) has not occurred before, so the
> parser didn't know.
> But once I have the file, I can add and test it.
>
> /// Jürgen
>
>
> On 08/31/2015 05:25 AM, Mike Duvos wrote:
>
> [IBM APL2]
>
> )CLEAR
> CLEAR WS
> ⎕IO←0
> M←¯12+⍳25
> )OUT OUT
>
> [GNU APL]
>
> )IN OUT
> ERROR: inverse 2 ⎕TF failed for 'M←¯12-⎕IO-⍳25
>
> I'm assuming the error here is on the GNU APL side of the transaction, as
> APL2 has been around for a while, and people would have complained.
>
> ;
>
>
>
OUT.atf
Description: Binary data
