As I got to know Soliton's SAX APL interpreter, I found it to be pretty cool. However, I did notice that I sorta had to use the editor that came with the system. While I figured out how to make it work with vim pretty well, I still wanted to write a bunch of code into a file and just plain load it into the interpreter like how other languages worked. Sure, I could make sessions that I could switch between, but it wasn't the same as a big file filled with code you can edit. I'm very used to this method of development, and so it was worth my time to make this work.

So, I present to you the function slurp. This function takes a character vector which describes a filename. In this file is written a set of APL functions(and functions ONLY) which slurp will bring into the interpreter for you, and bind into real functions. There are a few restrictions however. One of them is that the {del} character must appear at the beginning of the function description, and at the end, on a single line. The second limitation is that the {del} character MUST NOT APPEAR anywhere EXCEPT as it is used to describe a function declaration. This means it can't be in comments, character vectors, etc. Right now, this isn't a bad restriction for me, but I realize that as soon as it is, I'll need to fix slurp to handle it.

An example set of function descriptions in a file:
{del}z <- func
{lamp} this is a comment
z <- 1 2 3 4 5
{del}

{lamp} Comments can go here too, but they are not preseved if you decide to 
{lamp} edit a function in the )edit menu. Any comments between {del} markers
{lamp} are available to you in that menu.

{del}z <- thing
z <- func,6 7 8 9 0
{del}