It's very much undocumented. It's also very ad-hoc since I just added functions as they were needed.
You can see the implementation in the GNU APL source under src/emacs_mode I think. Every command is in its own file with a name ending with *Command.cc. I'm on the phone right now so I can't give you a comprehensive list, but there are commands that do: Show the implementation of a function Define a new function List all functions, variables Trace updates to a variable List all system commands List all quad-variables Show the si-stack Clear the si-stack Get the tag for a function (the tag contains the source file and line where it was defined) If you need other commands, it's trivial to add. Regards, Elias On 15 Aug 2014 04:24, "Chris Moller" <mol...@mollerware.com> wrote: > I'll take a look at that. Is your protocol documented somewhere? Or is > it implicit in gnu-apl-mode/native? > > cm > > > On 08/13/14 23:28, Elias Mårtenson wrote: > > Hello Chris, > > I've been following the discussions about the GTK wrapper, and while I'm > not using it myself (since I work on the Emacs integration) I realise that > there are plenty of (potential) overlaps between our projects. > > In particular, I want to let you know about the Emacs mode backchannel > protocol that the mode uses for directly communicating with the GNU APL > interpreter. When started, if gives you a simple text-based protocol > through which you can do things such as defining functions or creating > listeners that send you a message whenever a variable is changed (this is > used by the realtime variable watcher). > > It would be neat if you were to consider implementing some of the > feature I added to the Emacs mode, and if you do it would be useful if you > used the same protocol as I am using. > > Please let me know if you have any questions. > > Regards, > Elias > > >