bug-apl
[Top][All Lists]
Advanced

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

Re: [Bug-apl] Incorrect encoding in ATF files.


From: Juergen Sauermann
Subject: Re: [Bug-apl] Incorrect encoding in ATF files.
Date: Sun, 19 Jan 2014 16:29:44 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5

Hi Kacper,

I changed the following in SVN version 98:

1. names of system variables and functions are now case-insensitive

2. )OUT maps alternate characters such as ⋆/◊ to the same symbol in the output file.

3. )IN prints a warning if an unknown system variable is assigned.

Same for 2⎕TF.

I hope this helps, please keep reporting problems.

This is probably not the end of the story; for me .ATF files remain problematic. I can imagine more problems when exchanging workspaces between different APL variants, for example when Unicode characters that are not contained in the charset of the interpreter
appear in strings.

/// Jürgen


On 01/18/2014 04:29 PM, Kacper Gutowski wrote:
On 2014-01-18 13:04:41, Juergen Sauermann wrote:
The strategy of GNU APL is to be tolerant on input and accept all of
these variants
on input (keyboard or script files) and to keep it internally so
that the user should
not see a difference. Eg. One user can use ∈ while another user
could use ∊ and both would
see "their" characters.
It's very good that it accepts many possible variants but I'm not sure
that keeping them around is worth the effort.  It's nice but I certainly
wouldn't be surprised or complain if they were just normalized to some
subset GNU APL likes as long it can be displayed on my terminal.
The latest version from SVN leaks its preferred variant for example when
reporting syntax error as in:
       *
SYNTAX ERROR
       ⋆
       ^
And I don't see any problem with this.

The )IN and )OUT commands that are dealing with .ATF files are
currently lacking this kind
of tolerance, but I will add this soon (the )IN command will always
map to GNU APL's choice of
character, but )OUT will become more tolerant).
Thank you in advance for fixing this.  Obviously )IN doesn't have much
choice, the only problem is with )OUT which I would expect to appropriately
map everything GNU APL accepts.

Regarding the )IN fault tolerance, it seems that some APLs treat quad-
names case-insensitively and, e.g., files exported from Dyalog APL use
lower case ⎕ucs, ⎕fx, ⎕io, etc (in function definitions and character
arrays because a record ⎕IO←1 itself is upper-case).  Currently these
can't be imported by GNU APL without manually upper-casing it (one also
has to remove all the unknown records like ⎕RTL←0 for )IN to succeed).

-k





reply via email to

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