Ok, I've got a wild and wacky idea.....
Background: A friend of mine is designing an application that watches real-time video feeds. However, the sheer amount of data coming in is daunting. In fact, the video capture cards all seem to have on-board DMA memory containing the video feed, probably because it is too CPU-intensive to transfer it all to the CPU's memory in real time and still get any work done. He would like to use APL to manipulate this data stream, but I'm having a hard time trying to figure out how to get it into a variable to work with. This sounds like an opportunity for enhancement!
What I think might help is the ability to tie an APL variable directly to a fixed memory address (outside the workspace). Accessing the variable would use raw data directly from that memory location without first transferring it into the workspace. Modifying the variable (especially only parts of it) could also write directly to that space (though that isn't needed for this application). Syntactically, this could look similar to any of the methods used in various APLs for accessing files-as-variables.
Of course something like this would require substantial changes to the interpreter. You'd need a new internal datatype that contained a pointer similar to a nested scalar, except that the pointer would be to an outside address instead of a workspace mentry. You might also want to keep a second datatype to indicate whether the external memory was to be returned as characters, integer bytes, words, etc.
Any comments, or official certifications that I'm insane?