A novel approach to finding your way in APL
There is plenty of documentation on what parts of APL do. APLcart seeks to answer How do I… questions.
APLcart is a searchable collection of over two thousand short APL phrases intended for both beginners and professionals, with content provided by the community. Knowledge of basic APL syntax is a prerequisite.
APLcart can also be used for exercising your APL skills.
See APL Wiki for background and history.
→ See also the video introduction.
APLcart is for finding out how to do things, not for finding out, for example, what a symbol means or what a system function does. Please use the language documentation for such purposes.
The site may take some seconds to load due to the information being processed by the browser. Once ready, it does not require internet access any more.
All code in APLcart assumes the latest version of Dyalog APL Unicode edition and system defaults, for example ⎕IO←1
, ⎕ML←1
, ⎕DIV←0
.
Entries are meant for copying and pasting to the extent possible. Therefore, many entries are more involved than what might appear as necessary. For example, Cube root is listed as (*∘÷∘3)N
instead of the straight-forward N*÷3
. This is so that *∘÷∘3
can be copied and used in defining CubeRoot←*∘÷∘3
which would not be possible with the simpler expression.
See here how to use access-keys on your system.
You can use APLcart to exercise your APL skills by solving various types of tasks:
While APLcart does not feature checking of your answer (indeed, there can often be various answers to any given task), you can compare your answer to APLcart's.
See here how to use access-keys on your system.
The access keys for the Reveal and Next… buttons are the first letter of the second word on each button:
DuckDuckGo allows you to search APLcart directly using the !aplcart
bang. For example, searching for !aplcart 42
redirects to APLcart. This also means that if you set your browser's default search engine to DuckDuckGo, you can search APLcart directly from your browser address bar by prefixing your search with !aplcart
.
APLcart supports OpenSearch and as such can be added as search engine on various browsers, including Safari, Edge, Firefox, and Chrome.
APLcart is supplied as the user command ]APLCart
and the API function ⎕SE.Dyalog.Utils.APLcart
. For information about the user command, enter ]APLcart -?
. The API function takes a query as right argument, and optionally 1
as left argument to return all columns (even hidden ones) from the database, rather than just the shown first 2. A full database dump can be done with table←1⎕SE.Dyalog.Utils.APLcart''
The Windows Dyalog IDE allows using an online search when F1 is pressed with the cursor on an unknown word:
https://aplcart.info?q=%s
RIDE allows adding a website to its menu bar:
&APLcart =https://aplcart.info
You can now press Alt-Alt,a to launch APLcart.
After clicking # simply copy the current address from your browser's address bar to share the current query. Note that your current theme is intentionally not included, to avoid blinding the recipient. Note that the result for such a URL isn't permanent; it depends on APLcart's content at the time of usage.
After aplcart.info you can add ?
and the following options, separated by &
if you want both a theme and a query:
For example, for a white interface looking for "find", use aplcart.info?w&q=find
To answer how do I questions, APLcart currently searches over 3000 entries:
name f←Y
!
:If
:Access
)CLEAR
⎕SIGNAL
⎕A
⎕R
⎕IO
HTMLRenderer
819⌶
11::DOMAIN ERROR
]Box
(0=|)
dfns.cal
(In APLcart, entries from here are prefixed dfns.
. To use, insert {(⍎⍵⎕NS⍬).⎕CY⍵}'dfns'
into your code, then call, for example, dfns.cal
.){(+/∨\' '≠⌽⍵)↑¨↓⍵}
(+/|)
(fully updated to use modern APL)(⊢⍳⌈/)
(fully updated to use modern APL)(×/⊢÷+/-2×⊢)
Got an idea for improving the site? Suggest it!
Wrote a cool train? Found a clever dfn? Submit it!
Missing something? Faulty content? Report it!