Public Letter to P Chapman
Vector 5:1, page 14
Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 14
This month I received my copy of I-APL, and was impressed by what is distributed for just £11. I got a comprehensive language manual by Garry Helzer, describing all the functions clearly with just the right amount of examples to illustrate them. There was also an attractive tutorial by Linda Alvord and Norman Thomson, and a (fortunately) small technical manual.
A small disappointment was the print quality of the language manual, which was in dot-matrix format (granted in a not-too-bad NLQ font, but ugly nevertheless); a pity that this could not be printed on the same laser as the other booklets were.
I consider it a small miracle that Paul Chapman (and his sup-porters) developed such an interpreter in less than a year, and I hope this product will achieve what it set out to do: distributing the gospel of APL. As for myself, I certainly intended to help distributing it to my students, and by starting to write some regular series in Atari and PC magazines.
So I put the floppy in the drive, typed in “IAPL /C” (a character generator for all graphics cards was provided too!!), and in response to the first 5 spaces I typed “[10T]10” and .... a VALUE ERROR was my reward. Then I discovered that the character set is distributed over the various keys in a new way. Although the JOT is still Shift-J (after pressing [INSERT] however), most of the other characters were not in their familiar places. The next 5 minutes showed an heroic struggle to find all the familiar symbols in order to get some simple expressions done.
Problem¶
This brings forward the point I wish to make. I wholeheartedly support the I-APL project and I hope that it will attract new adepts for APL, but if the character set is not brought into line with the standard keyboard quickly, I think it will seriously hamper the project.
In the discussions about I-APL it was often stated that compatibility with standard APL was of utmost priority. For that reason I read that fractional replicate was removed because it would frustrate any user who might upgrade to a commercial APL. That decision, although painful, was a sensible thing to do.
Upward Compatibility¶
Now the position of the characters over the keyboard is a similar case. If people are accustomed to the position of the characters in I-APL they will experience an undesirable frustration when they change to commercial APL.
For example I had the intention to start all my APL courses with I-APL. This is a very strong incentive for beginners; it is my experience with other packages that a package which my students are allowed to copy and use at home for study (and to give away to friends) immensely increases the popularity of that program. But after a few weeks I teach file handling and graphics; at that moment I need to switch to a commercial APL.
However, with the character set incompatibility, I don’t dare to burden relative novices with switching to another character set. So unfortunately I had to drop this idea.
Downward Compatibility¶
You may wonder who will ‘downgrade’ from commercial APL to I-APL? The answer is: “the most important people you have”, experienced APL users and APL professionals who try to promote APL. These people are familiar with the current position of the symbols, and they will not have a one-time mental conversion, but will be frustrated again and again whenever they switch to I-APL for a moment. As experienced APL users devote their time mainly to the professional implementations, they know the standard keyboard layout by heart. As they switch to I-APL only occasionally, they will never be comfortable with the alternative layout of I-APL.
They will always need to fetch the paper with the layout of I-APL; this is very frustrating and it will thwart the quick ‘playing’ in the few minutes left between two big projects. Even when they have the I-APL layout at hand, they have to spend too much time locating the proper symbols.
Even if such a professional doesn’t give up finally, at least his interested visitor will not get a favourable impression of APL if he sees his tutor struggling with ‘a minor detail’ such as the search for a proper symbol. That APL has a lot to offer will probably be lost by this bad impression.
By the way, it will also require that all existing manuals and books have to devote extra sections to the character set location. This is an unjust burden for writers too, and it makes me hesitate to do that for a ‘non-standard’ APL feature.
Remedy¶
For these reasons I strongly advise a return to standard APL for the position of the symbols. The best thing to do would be to distribute a patch with which to return to the familiar keyboard layout. However, if you don’t want to drop this new layout, at least give the user an option to choose between the new and the standard keyboard.
I feel very positive about this project and I think that Paul Chapman and all the other contributors did a marvellous job. So it’s a shame if such a relatively small thing were to hamper the success of this project. With all respect for the big achievement which I-APL is, please don’t let this small thing of a non-standard character placement endanger the final aim of popularizing APL.
Yours sincerely
F.H.D. van Batenburg
Instituut v.Theoretische Biologie
Leiden, Holland