16 ms·
I think ‘used heavily’ is a bit of an overstatement. I think the right intuition for APL-family languages is that they mostly do numpy-like operations except t
by dan-robertson 4y ago
I think ‘used heavily’ is a bit of an overstatement.
I think the right intuition for APL-family languages is that they mostly do numpy-like operations except their set of operations tend to compose very nicely. So the idea is that one can quickly and interactively figure out a composition of the operations which will do the calculation you want, but you don’t have a complicated compiler and spend most of your time in the operators rather than the interpreted language, and the operators tend to make the cpu happy – they work on contiguous memory, tend to be vectorized, don’t branch unpredictably, etc – so even if you have to compose many steps, you win on the time to write and the time to execute can be hard to beat because the constant factors of each individual operation are good.
For obvious reasons, things like numpy, pandas, dplyr, etc are more popular as their syntax is a bit more readable and it is easier to get data in/out. I think they do lose a bit by not having lots of the useful compostable APL-style operators because those things don’t have comprehensible names.
- rippercushions 4y ago> compostable APL-style operators APL-style operators have been sent to the compost heap of history for a reason.
- dan-robertson 4y agoFold Scan Map Head/tail Index (with an array) The integers up to n Concatenate Flatten Most of the operators are already familiar but they tend to work well on multidimensional arrays and with each other due to broadcast semantics (and some axis selection features). In other languages you may see the magic broadcasting for some operations like addition but many of the functions only work on vectors.
- eismcc 4y agoI wrote http://KlongPy.org http://KlongPy.org to blend Klong and python. Eat your cake and have it too :)