Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Common Lisp
  3. discussion

discussion

MITCommon Lispv2.3.0

A general-purpose editor/IDE written in Common Lisp, designed for high extensibility and real-time code execution.

Visit WebsiteGitHubGitHub
3.0k stars251 forks0 contributors

What is discussion?

Lem is a general-purpose editor and integrated development environment (IDE) written in Common Lisp. It is designed with high extensibility in mind, allowing developers to modify and extend the editor while it is running. The core vision is to bring the distance between code and its execution state as close to zero as possible, enabling real-time feedback and visualization.

Target Audience

Common Lisp developers and programmers who value a highly customizable, self-modifying editor environment with live code execution capabilities. It's also suitable for those seeking an alternative to traditional editors like Emacs or Vim with a unique philosophy.

Value Proposition

Developers choose Lem for its unique real-time execution model, immediate extensibility, and the ability to visually debug running code. Unlike many editors, extensions and customizations take effect instantly without restarting, and it offers multiple frontend options (terminal, web, graphical) from a single codebase.

Overview

General-purpose editor/IDE with high expansibility in Common Lisp

Use Cases

Best For

  • Developing Common Lisp applications with immediate feedback
  • Building custom editor extensions that load in real-time
  • Visualizing and debugging running code behavior interactively
  • Creating a personalized IDE environment that evolves as you code
  • Running an editor in terminal, web, or native GUI from the same core
  • Experimenting with self-modifying and live programming environments

Not Ideal For

  • Developers working primarily with non-Lisp languages requiring deep IDE features like IntelliSense or language servers
  • Teams needing a stable, unmodifiable editor environment for production code to prevent accidental runtime changes
  • Users who prefer the extensive plugin ecosystems and pre-built keybindings of Emacs or Vim without customization effort

Pros & Cons

Pros

Live Execution Feedback

Execute code inline and see results instantly without breaking editing flow, enabling real-time feedback as described in the vision to minimize distance from execution state.

Multi-Frontend Flexibility

Available as terminal (ncurses), webview, and SDL2-based graphical versions from a single codebase, offering choice based on user environment and preferences.

Immediate Extensibility

Extensions and customizations take effect in real-time without restarting the editor, allowing dynamic modification while coding as highlighted in the goals.

Consistent Extension API

Provides an intuitive and consistent API for building extensions, facilitating developer customization and integration, as stated in the non-goals to avoid imitation.

Cons

Niche Language Focus

Primarily designed for Common Lisp, with limited built-in support for other programming languages, which may require significant configuration or custom extensions.

Complex Build Process

Building from source requires separate instructions for terminal, webview, and SDL2 versions, as shown in the README, making setup cumbersome compared to one-click installs.

Smaller Ecosystem

Has a smaller community and fewer pre-built extensions than established editors like Emacs or Vim, relying more on user-driven development and documentation.

Frequently Asked Questions

Quick Stats

Stars3,010
Forks251
Contributors0
Open Issues77
Last commit3 days ago
CreatedSince 2015

Tags

#sdl2#ncurses#text-editor#webview#extensible-editor#live-programming#ide#editor#common-lisp

Built With

N
Nix
W
WebView
S
SDL2
n
ncurses
C
Common Lisp
D
Docker

Links & Resources

Website

Included in

Common Lisp2.9k
Auto-fetched 3 hours ago

Related Projects

SketchSketch

A Common Lisp framework for the creation of electronic art, visual design, game prototyping, game making, computer graphics, exploration of human-computer interaction, and more.

Stars1,496
Forks68
Last commit6 months ago
cl-sdl2cl-sdl2

Common Lisp bindings for SDL2 using C2FFI.

Stars337
Forks82
Last commit1 year ago
cl-cudacl-cuda

Cl-cuda is a library to use NVIDIA CUDA in Common Lisp programs.

Stars305
Forks27
Last commit5 years ago
cl-openglcl-opengl

cl-opengl is a set of CFFI bindings to the OpenGL, GLU and GLUT APIs.

Stars292
Forks59
Last commit28 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub