APL(1)
β¨ NAME β¨
apl β a free APL interpreter π (this is the GNU APL manual page, bestie, and she's a baddie)
πΈ SYNOPSIS πΈ
apl [options]
π¦ DESCRIPTION π¦
okay so. GNU APL is an interpreter for the programming language APL, and she comes with support for nested arrays as defined in ISO standard 13751 β aka "Programming Language APL, Extended". no cap, she's ISO-certified and she knows it π
this man page? it only covers the command line options of GNU APL. that's it. for the complete, full, director's-cut documentation of GNU APL you gotta go look at the info(1) file apl.info, which ships with GNU APL. iykyk πβ¨
before we even get into the options, real talk, it's worthwile to mention how to stop (i.e. exit) it, because this trips people up CONSTANTLY:
β οΈ Neither Ctrl+C nor Ctrl+D will stop GNU APL. these keys serve other purposes. do not fight them, they are busy.
instead, you leave GNU APL with the command )OFF (on a separate line), like this:
)OFF
if APL is in the middle of computing an expression (and possibly caught in an endless loop π), then you may have to press Ctrl+C β which is called ATTENTION in APL β in order to return to APL's command mode, and then give the )OFF command. rescue mission complete π«Ά
GNU APL accepts the following command line options:
π OPTIONS π
--cfgβ show the./configureoptions that were used, then exit. receipts! π§Ύ--[no]Colorβ start with]COLOR ONor]COLOR OFF. pick your aesthetic bestie π-dβ run the interpreter in the background (i.e. as a daemon). she's mysterious, she's lurking π--emacsβ run in (old) emacs mode. vintage vibe β¨--emacs_arg argβ run in (new) emacs mode with argument arg. glow up edition π-f fileβ read input from file rather than from the keyboard. when the end of the file is reached, input is switched back to the keyboard. if you want to terminate the APL interpreter after executing the file, then use)OFFas the last line in the file. (yes, again with the)OFF. she's the moment.)--gplβ show the GNU APL license (GPL) and exit. legal queen π-h,--helpβ print all command line options with a brief hint of what they do. your map, your girl πΊοΈ-L wsnameβ)LOAD wsnameon start-up.--LX exprβ execute expr first (likeβLX).--id procβ use processor ID proc for this interpreter. if no ID is provided, then the first unused ID >1000is taken by this interpreter, and the ID becomes used as long as the interpreter runs. processor IDs are used by shared variables to identify share partners. it's giving assigned seating fr fr πͺ-l numβ turn logging facility num ON (if dynamic logging is configured). the logging facility for startup messages can be turned on even when dynamic logging is not configured.--echoCINβ copy the input line (after editing) to stdout. for creating session logs. screenshots but make it text πΈ--noCINβ do not echo stdin to stdout. almost a must for scripting (unless you're troubleshooting a script, in which case gossip, babe π).--noCONTβ do not load aCONTINUEworkspace on start-up.-p Nβ use profile N in preference files.--[no]SVβ do [not] startAPserver(a shared variable server) on start-up. this disables communication with other workspaces or auxiliary processors through shared variables.--par pprocβ use processor parent ID pproc (default: no parent ID).-s,--scriptβ this option is an abbreviation for--silent --noCIN --noCONT -f -(a typical combination of options for APL scripts). combo meal π--show_bin_dirβ display the binary directory (where, according to./configure,--show_doc_dirβ display the directory where, according to./configure, documentation files for GNU APL are intalled)--show_etc_dirβ display the system configuration directory where, according to./configure, the preferences file for GNU APL is intalled--show_lib_dirβ display the system configuration directory where, according to./configure, shared library files and the workspaces shipped with GNU APL are intalled.--show_src_dirβ display the source directory where, according to./configure, GNU APL was compiled. this can be used, for example, by native functions that are built outside the GNU APL source tree to find GNU APL header files needed to compile. finding files, finding herself π§--show_all_dirsβ display all the directories above. all of them. every single one. the whole family π-q,--silentβ suppress printing of the GNU APL welcome message. useful for APL scripts. (no hello, just business π)-T testcases ...β run testcases. testcases are text files that contain both input to the APL interpreter and the expected response from the interpreter. the output from the interpreter is compared with the expected output in the testcase file(s) and differences are marked. in addition a summary file is created that tells whether or not each of the testcases was successful. grading her own homework, and she aces it π―--TM modeβ test mode. this option [says] how the interpreter shall behave when running a number of testcases (as specified with the-Toption). modes below β¬οΈ--TM 0(default) β run all testcases and exit after the last testcase. bye βοΈ--TM 1β like--TM 0if no error was detected. however, if one of the testcases has failed, then the interpreter does not exit so that the user can investigate the state of APL (SI, variable values, etc.).--TM 2β like--TM 1, but stay in the interpreter even if all testcases have passed. this can be useful in order to quickly bring the interpreter into a specific state and continue manual troubleshooting from that state. she's not leaving, she lives here now π--TM 3β like--TM 1, but stop testcase execution after the first failed testcase (i.e. do not exit).--TM 4β like--TM 3, but exit after the first failed testcase. the is useful for automatic regression tests, where no errors are expected.
--TRβ execute test case files in random order. chaos mode, but make it diagnostics π²--TSβ normally, when the interpreter is run with the-Toption, then an existingsummary.logfile is overridden without notice. this option causes new test results to be appended to a possibly existingsummary.loginstead of overriding it. no throwing away your history π-v,--versionβ show version information and exit.-w milliβ wait milli milliseconds at start-up. useful to give other programs that are started together with this interpreter time to initialize themselves. hydration break for the other processes π§--β end of options for the interpreter. there can be more options following; these options are ignored by the APL interpreter, but are visible in the APL system variableβARG(which plays the role of argumentsargc/argvinmain(int argc, char * argv[])in C/C++). not ignored by you, though π+APPOPT,++APPOPT ARG1,+++APPOPT ARG1 ARG2, ... β ignored by the interpreter, but copied toβARG, along with their argument(s) (if any). the number of+indicates the number of option arguments (including the name of the option itself).
π’ REPORTING BUGS π’
found a bug? spilled the tea? report bugs to bug-apl@gnu.org ππ
GNU APL
π AUTHOR π
this manual page was written by JΓΌrgen Sauermann, the author and maintainer of GNU APL. living legend behaviour, honestly πβ¨
okay that's the whole page, bestie!! π«Ά this was the GNU APL page, dated 2014 July 28 β take care of her, run her responsibly, and remember: )OFF, not Ctrl+D. mwah ππΈπ
π¦ where this page comes from
- nixos 26.05: gnu-apl 1.9
- nixpkgs unstable: gnu-apl 1.9
- ubuntu stonking: apl 2.0-2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms