3 ms·
Which is odd, because that optimization has been known in the APL community for a long time. Edit: They probably have their reasons for not including it. I don'
by silentbicycle 15y ago
Which is odd, because that optimization has been known in the APL community for a long time. Edit: They probably have their reasons for not including it. I don't know anything about the Dyalog implementation internals.
See e.g. Abrams's "An APL Machine" (http://www.slac.stanford.edu/pubs/slacreports/slac-r-114.html http://www.slac.stanford.edu/pubs/slacreports/slac-r-114.htm...) from 1970, where he describes them as 'drag-along' and 'beating'. Essentially, lazy evaluation, but done in bursts to take advantage of many of APL's other properties.
I'm currently working on adding this to Kona (http://github.com/kevinlawler/kona http://github.com/kevinlawler/kona), part of a virtual-machine-based reworking of the implementation.
- colanderman 15y agoGood to know Dyalog isn't a representative implementation of APL.
- deleted 15y ago[deleted]