There’s a lot of chatter about live-coding systems, but not much regarding the middleware we use to send code to them. For some systems, there are already nice REPL-plugins available, but I’ve noticed that many live-coding libraries/language/frameworks/systems have their own plugins, or sometimes even their own specialized editors.
In most “traditional” programming scenarios, you can use whatever editor you want. Just compile and run your program, or execute the entire file. But live-coding often necessitates the ability to execute segments of code in isolation, which requires specialized tools that are often bound to particular editors and platforms.
The need for these tools gives rise to a bunch of (I think) interesting questions:
- How do you send code to your language/interpreter?
- Does this require a plugin?
- Is this a generic plugin for the language, or specific to your live-coding system?
- How do you go about making a plugin/editor targeted at live-coding?
- What medium do you use to communicate between live-coding system and editor? (network? pipes? files?)
- What editors do you support? How do you choose?
- Have other people made plugins for your live-coding system?
- What features are unique to your editor/plugin? What features does it have specific to your live-coding system?
- Is your editor or plugin inextricably tied to the system? Is it the system itself? (Orca comes to mind)
I’ve been thinking about this specifically because I cannibalized an existing Lua REPL plugin for Emacs while building Cybin, but I’m beginning to yearn for something more specialized, robust, and modern. There are, as far as I can tell, no resources out there to guide someone if they want to create a live-coding-centric REPL plugin or editor. I think it would be valuable to hear from folks who have done this.