Search code examples
apldyaloggnu-apl

How to choose between APL compilers?


I am using Dyalog APL, but I have found that some functions are not available in gnu-apl. Are there great differences between these two APL implementations and all the other APL implementations? What is the most commonly used APL compiler?


Solution

  • For all practical purposes, all commercial APL implementations are interpreters.

    There are a handful of vendors out there, APL2000, Dyalog, IBM, and MicroAPL, possibly others. The three non-commercial APL efforts that I know of today are GNU APL, NARS2000, and NGN APL which runs on your browser.

    I don't think I could accurately guess as to which system is most commonly used. That may depend on which APL system you had used in the (distant) past - STSC timesharing or APL*Plus\PC users might be inclined to go with APL2000, Sharp timesharing might go with Dyalog, and IBM mainframe APL2 users might stick with APL2 for the PC. There is often a continuity of important features which may make different APLs more or less attractive for different users.

    Although there is such a thing as a core APL language, vendors typically add language extensions and very substantial proprietary enhancements to their versions, which include but are not limited to an APL file system, interfaces to system facilities such as .DLL or .SO files, .Net, Java, Windows and form design enhancements, object oriented features, and so on.

    So yes, there are great differences amongst the different APL implementations. It's a question of what you need.