Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Lem is the editor/IDE well-tuned for Common Lisp. [...] If you come from Emacs or Vim, you will feel right at home."

https://lem-project.github.io/



I'm curious, how does Lem compare to Emacs as a common lisp ide?


It compares pretty well: it has all the essential features, and some more. It only lacks a couple keybindings in my eyes (shortcut to call the function at point in the REPL, shortcut to "change-package" from a lisp file). It has:

- the interactive debugger

- the Lisp REPL

  - so we can have a full-featured Lisp REPL on the terminal with: alias ilem='lem --eval "(lem-lisp-mode:start-lisp-repl t)"'
- the same compilation, evaluation, code navigation keybindings and error reporting

some more:

- when we evaluate an expression, it will show a loading spinner during that time and then the result in an overlay.

- a "watch" command that shows results in the overlay too https://lem-project.github.io/usage/common_lisp/#watch

Overall, Lem has:

- a built-in LSP client that is known to work with other languages (and syntax highlighting for many languages)

- some tools, still more rudimentary than Emacs: directory mode, find file in project, project tree side view, Git tool (shows status, does interactive rebase)…

- it is in the process of having co-editing in Lem itself. The developer(s) are beta-testing a collaborative web-based version of Lem: https://github.com/sponsors/cxxxr

Lem has ncurses and SDL2 interfaces.

https://lem-project.github.io/usage/usage/


It's pretty raw and buggy still, but if you're already a cl hacker, you'll certainly enjoy it.

It is missing most useful Emacs features but also seems to have some of it's own, particularly for CL.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: