Editing Lisp code effectively with Atom editor

I started the atom-slime project, which aims to make the Atom text editor a full-fletched integrated development environment for Common Lisp code (my lab does a lot of Common Lisp coding). To date, the project has been installed over 13,000 times!

Please see the atom-slime project page for more details.

Features

Current features of this package:

  • Read-eval-print-loop (REPL) for interactive Lisp development
  • Integrated debugger (work in progress on stack trace)
  • Jumping to a method definition
  • Autocomplete suggestions based on your code
  • “Compile this function”
  • Function method argument order documentation
  • Integrated profiler

Future features (though I don’t have as much time to maintain as I like!):

  • Interactive object inspection
  • Stack trace in debugger
  • “Compile this file” command
  • “Who calls this function” command

How it works

This package makes use of the superb work from the slime project. Slime started as a way to integrate Lisp with Emacs, a popular text editor for Lisp. It works by starting what is known as a swank server, which is code that runs in Lisp. Emacs then runs separately and connects to the swank server. It’s able to make remote procedure calls to the swank server to compile functions, lookup function definitions from your live code, and much more thanks to the fact that Lisp is such a dynamic language.

This package uses the swank server from the slime project unchanged. This package allows Atom to speak the same protocol as Emacs for controlling the swank server and integrating Lisp into the editor.