Hemlock (editor)
Encyclopedia
Hemlock is a free
Emacs
-style
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 many other Emacs variants in that is written in Common Lisp
rather than the usual Emacs Lisp
— that is, the Lisp machine and ITS Emacs have largely been rewritten in Common Lisp, borrowing features from later variants of Emacs like XEmacs
or GNU Emacs.
Hemlock is integrated with the Common Lisp compiler, interpreter, and development suite CMUCL
, 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 functions from interactive commands, which are given in a more natural-language-like style derived from the original Lisp machine and TECO
Emacs. It is able to display to a terminal
, or use the CLX
(Common Lisp X Library) for X11
.
Hemlock is also the editor of the Clozure CL
(formerly OpenMCL) development environment. The editor of LispWorks
has been based on Hemlock also.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
Emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...
-style
Clone (computer science)
In computing, a clone is a hardware or software system that is designed to mimic another system. Compatibility with the original system is usually the explicit purpose of cloning hardware or low-level software such as operating systems...
text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
for most POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
-compliant Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
systems. It follows the tradition of the Lisp Machine
Lisp machine
Lisp machines were general-purpose computers designed to efficiently run Lisp as their main software language. In a sense, they were the first commercial single-user workstations...
editor ZWEI
ZWEI
ZWEI was an early Emacs-like text editor written by Daniel Weinreb and Mike McMahon for the Lisp machine. It is the successor of the editor EINE . Innovations by it include programmability in Lisp, and a new and more flexible method of internally representing buffers...
and the ITS
Incompatible Timesharing System
ITS, the Incompatible Timesharing System , was an early, revolutionary, and influential time-sharing operating system from MIT; it was developed principally by the Artificial Intelligence Laboratory at MIT, with some help from Project MAC.In addition to being technically influential ITS, the...
/TOPS-20
TOPS-20
The TOPS-20 operating system by Digital Equipment Corporation was the second proprietary OS for the PDP-10 mainframe computer. TOPS-20 began in 1969 as the TENEX operating system of Bolt, Beranek and Newman...
implementation of Emacs, but differs from many other Emacs variants in that is written in Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...
rather than the usual Emacs Lisp
Emacs Lisp
Emacs Lisp is a dialect of the Lisp programming language used by the GNU Emacs and XEmacs text editors . It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C...
— that is, the Lisp machine and ITS Emacs have largely been rewritten in Common Lisp, borrowing features from later variants of Emacs like XEmacs
XEmacs
XEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s...
or GNU Emacs.
Hemlock is integrated with the Common Lisp compiler, interpreter, and development suite CMUCL
CMUCL
CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University.CMUCL runs on most Unix-like platforms, including Linux and BSD; there is an experimental Windows port as well. Steel Bank Common Lisp is derived from CMUCL...
, 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 functions from interactive commands, which are given in a more natural-language-like style derived from the original Lisp machine and TECO
Text Editor and Corrector
TECO is a text editor originally developed at the Massachusetts Institute of Technology in the 1960s, after which it was modified by 'just about everybody'...
Emacs. It is able to display to a terminal
Computer terminal
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...
, or use the CLX
CLX (Common Lisp)
CLX is the standard X Window System protocol client library for the Common Lisp programming language,1:3 the C equivalence of which is Xlib....
(Common Lisp X Library) for X11
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
.
Hemlock is also the editor of the Clozure CL
Clozure CL
Clozure CL is a Common Lisp implementation. It implements the full ANSI Common Lisp standard with several extensions...
(formerly OpenMCL) development environment. The editor of LispWorks
LispWorks
LispWorks is a commercial implementation and IDE for the Common Lisp programming language. The software runs on Microsoft Windows, Mac OS X , Linux, FreeBSD, Solaris and HP UX....
has been based on Hemlock also.
External links
- Official homepage
- "Hemlock User's Manual" -(psPostScriptPostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
file) - Entry on CLikiCLikiCLiki is an open source wiki application written in Common Lisp, that was under development from 2002 to 2005.CLiki was first presented at the International Lisp Conference 2002...
- Currently active "Portable Hemlock" project
- The original "Portable Hemlock" homepage