Hemlock is a free Emacs text editor for most POSIX-compliant Unix systems. It follows the tradition of the Lisp Machine editor ZWEI and the ITS/TOPS-20 implementation of Emacs, but differs from XEmacs or GNU Emacs, the most popular Emacs variants, in that it is written in Common Lisp rather than Emacs Lisp and C—although it borrows features from the later editors. Hemlock was originally written by the CMU Spice project in Spice Lisp (later renamed to CMU Common Lisp) for the PERQ computer.
Hemlock is integrated with the Common Lisp compiler, interpreter, and development suite CMU Common Lisp, though it is possible to use it as a standalone editor, or to use GNU Emacs with CMUCL instead—Hemlock integrates better, but has fewer features and addon programs. One distinctive feature is that Hemlock distinguishes Lisp function names from interactive command names, which are given in a more natural-language-like style derived from the original MIT Lisp Machine editor Zmacs and TECO Emacs. It is able to display to a terminal, or use the CLX (Common Lisp X Library) for X11.
Other variants of Hemlock:
- Clozure CL's Macintosh integrated development environment has an editor, which is based on Hemlock code and uses Apple's Cocoa for display.
- The editor of LispWorks is based on an early version of Hemlock. This version is portable and runs on Windows, Mac OS X, X11/Motif and Gtk+. The editor not only runs in LispWorks, but also in Liquid Common Lisp.
- Lucid Common Lisp provided an editor called Helix, which was based on Hemlock.
- Portable Hemlock is a variant of Hemlock running on multiple versions of Common Lisp.