Hedgehog is a very concise implementation of a Lisp-like language for low-end and embedded devices. It consists of a compiler and a byte code interpreter. The byte code interpreter is written in standard conforming C, is efficient and easily portable, and can be compiled to a very small executable of only some 20 kilobytes in the smallest configuration for the Intel x86 architecture.
The Hedgehog Lisp dialect has proper support for local and lambda functions, lexical scoping, variable argument functions, garbage collection, exceptions, macros, and over a hundred predefined functions or special forms. The built-in types are lists, symbols, strings, 32-bit integers, AVL-trees, and tuples up to 16 elements wide. Proper 32-bit wide integers are necessary for various bit-level operations in embedded systems.
Hedgehog is free software. The compiler and interpreter are under the GNU Lesser General Public License (LGPL) and the Hedgehog standard library is under a license similar to the BSD one. The free version works on Linux and should be trivially portable to any POSIX system. Support, alternative licenses, and ports to embedded platforms can be discussed with Oliotalo Ltd.
For general questions about Hedgehog, please contact our mailing list: hedgehog@hedgehog.oliotalo.fi.
Best wishes,
Kaius Häggblom
(CEO, Oliotalo)
Kenneth Oksanen
(current implementation)
Lars Wirzenius
(language design)
News
- February 18, 2006. Hedgehog 2.1 adds basic crypto and a number of smaller features.
- August 17, 2005. After a much-longer-than-intended pause, a bugfix release Hedgehog 2.0.1 made.
- February 21, 2005. Hedgehog 2.0.0 released. First public release of the free version.
More information
- The Hedgehog mailing list for announcements, bug reports, questions, and discussion.
- The Frequently Asked Questions.
- Paper presented in the embedded room at Fosdem 2005 and its slides.
- Tutorial and reference for the current version as HTML and PDF.
- Credits.
Downloads
- hedgehog-2.1.0.tar.gz (source code)
- hedgehog-2.0.1.tar.gz (source code)
- hedgehog-2.0.0.tar.gz (source code)
- hedgehog-2.0.0.tar.gz.asc (gnupg signature)
- hedgehog-2.0.0_2.0.0-1_i386.deb (Debian package for i386)
Links
- Oliotalo, where Hedgehog was originally created.
- Lithp was designed to be an extension language. It compiles to less than 12 kB (roughly half the size of Hedgehog), but is also much more limited than Hedgehog.
- smlisp has some 20 primitives, a read-eval-print -loop, and an interesting syntax. The MS-DOS executable is 41 kB.
- LispMe for Palm PDAs is an almost complete Scheme with several extensions. It has a nice IDE, compiler, GUI tools. The executable is 165 kB.
- CLisp is a small for a very featureful implementation of the Common Lisp standard, but still with an executable of well over a megabyte.