Hi Elias, thanks for explaining your position. My concern about free software is not so much political but more practical. If I look at programming languages, then my impression is that those languages that make the exchange of software simple are more successful than those that do not. Historically it has always been possible to exchange APL software from one interpreter to another, but it was never easy. Most of the code can be exchanged via .ATF files, but the problems were often tiny incompatibilities. These incompatibilities are spread all over the code, so getting some APL workspace to work on a different machine is still an adventure. That is why I prefer to stick to the ISO standard, no matter how bad it is. As long as you use only standardised APL functions you have very few compatibility problems. There are some, but they are well known. But every new function that is not standardised moves you away from portability. If I object to implementing some new function than this is not for political reasons, but because I am afraid that the additional incompatibility makes the exchange of APL software more difficult. In some cases the function is so important that the incompatibility has to be accepted. Examples for that are certainly ⎕SQL, ⎕FIO, and maybe dyadic ⎕CR and ⎕DLX. These functions are almost impossible to implement efficiently by APL's own means. On the other end (from my point of view) we have things like the KEY function. I still believe that it rather fits into the FinAPL Idiom Library than into GNU APL. It is shorter than one APL line and if you make it an idiom then it remains portable between all APL interpreters while otherwise it is only portable between GNU APL and Dyalog APL. I am open to implementing a feature if it is really useful, but only then. Becoming a leader in implementing new feature is not one of my priorities. There are enough other APLs that are keen on that (e.g. Dyalog and NARS, see http://www.nars2000.org). The ambition of GNU APL has always been to become a stable standard interpreter some day. That is difficult enough, and we have learned from PL/I how too many features can kill a language. And I have seen too many software projects that failed due to being overly ambitious. I simply do not want to share their fate. Regarding emacs, I can't help to note that I am not using it, because it is, for my taste, too complex. I rather prefer something simpler like vi. Sometimes less is just more. Best Regards, /// Jürgen On 07/03/2017 04:00 PM, Elias Mårtenson
wrote:
|
- [Bug-apl] Implementing Dyalog Key function Elias Mårtenson
- Re: [Bug-apl] Implementing Dyalog Key function Juergen Sauermann
- Re: [Bug-apl] Implementing Dyalog Key function Elias Mårtenson
- Re: [Bug-apl] Implementing Dyalog Key funct... Juergen Sauermann
- Re: [Bug-apl] Implementing Dyalog Key f... Elias Mårtenson
- Re: [Bug-apl] Implementing Dyalog ... Juergen Sauermann
- Re: [Bug-apl] Implementing Dya... Elias Mårtenson
- Re: [Bug-apl] Implementing... Blake McBride
- Re: [Bug-apl] Implementing... Elias Mårtenson
- Re: [Bug-apl] Implementing... Blake McBride
- Re: [Bug-apl] Implementing... Elias Mårtenson
- Re: [Bug-apl] Implementing... Juergen Sauermann
- Re: [Bug-apl] Implementing... Louis de Forcrand
- Re: [Bug-apl] Implementing... Elias Mårtenson
- Re: [Bug-apl] Implementing... Juergen Sauermann