CHICKEN is a compiler for the Scheme programming language. CHICKEN
produces portable, efficient C, supports almost all of the R5RS
Scheme language standard, and includes many enhancements and
extensions.
Optional extras for the CMU implementation of Common Lisp.
Optional packages for graphical user interfaces and other Common Lisp
applications and libraries are on:
ftp://cmucl.cons.org/pub/lisp/cmucl/
CMUCL is the CMU implementation of Common Lisp.
First-aid documentation is in the manpages lisp(1) and cmucl(1) and
via the normal Common Lisp documentation runtime functions (describe
...) (documentation ...) and (apropos ...). The WWW homepage contains
a pointer to a real user manual.
CMUCL's strength in comparison with other Lisp systems (or most other
dynamic language implementations in general) is its highly optimizing
compiler. If you know how to write efficient Common Lisp code, you
are free of unwanted memory allocation, type checks, indirections to
objects. CMUCL helps you to write efficient Common Lisp --- it
generates very informative warning messages about code constructs that
prevent compilation to efficient code.
Optional packages for graphical user interfaces and other Common Lisp
applications and libraries (Eg. the "Hemlock" Editor) are on
ftp://ftp2.cons.org/pub/languages/lisp/cmucl/release/ (FreeBSD-Binaries)
and ftp://ftp2.cons.org/pub/languages/lisp/cmucl/ports/ (source).
cparser is a recursive descent C99 parser written in C99. It contains lexer,
parser, constructs an AST and does semantic analysis. It is currently used as
a frontend to the libFirm intermediate representation, but can be used
independently. cparser is able to bootstrap itself. It currently uses an
external preprocessor.
* fast recursive descent parser, parses C90 and C99
* handles most GCC extensions, e.g. __attribute__, inline assembler,
computed goto, statement expressions
* handles some MSVC extensions (like declspec)
* provides many useful warnings
* format string checker for char and wchar_t
* unreachable code analysis
* missing return statement check, which pinpoints exact location(s)
* write-only/-self variables detection
* missing and redundant forward declarations
* most warnings switches, which are available for GCC
* provides concise messages in case of error, for example when encountering
misspelled typenames
* compiler driver compatible with GCC (-fxxx, -Wxxx, -M, ...)
* uses libFIRM for optimization and code generation (devel/libfirm)
DLV is a system for disjunctive datalog with constraints, true negation
and queries.
The DLV system also includes
* the K planning system,
* a frontend for abductive diagnosis and Reiter's diagnosis,
* support for inheritance, and
* an SQL frontend which prototypes some novel SQL3 features.
ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp
language as described in the X3J13 ANSI specification, featuring CLOS
(Common-Lisp Object System), conditions, loops, etc, plus a translator
to C, which can produce standalone executables.
mawk is an interpreter for the AWK Programming Language. The AWK language is
useful for manipulation of data files, text retrieval and processing, and for
prototyping and experimenting with algorithms. mawk is a new awk meaning it
implements the AWK language as defined in Aho, Kernighan and Weinberger, The
AWK Programming Language, Addison-Wesley Publishing, 1988 (hereafter referred
to as the AWK book.) mawk conforms to the Posix 1003.2 (draft 11.3) definition
of the AWK language which contains a few features not described in the AWK
book, and mawk provides a small number of extensions.
From Donald E. Knuth's MMIX page:
MMIX is a RISC computer designed by the author to illustrate
machine-level aspects of programming. In the next editions of his
books The Art of Computer Programming, MMIX will replace the
1960s-style machine MIX.
More details can be found in his book:
MMIXware: A RISC Computer for the Third Millennium, by Donald E. Knuth
(Heidelberg: Springer-Verlag, 1999), viii+550pp. ISBN 3-540-66938-8.
(Lecture Notes in Computer Science, no. 1750.)
Rust is an open-source systems programming language that runs blazingly
fast, prevents almost all crashes, and eliminates data races.
Some of its features:
- Algebraic data types, type inference
- Pattern matching and closures
- Concurrency without data races
- Guaranteed memory safety
- Optional garbage collection
- Zero-cost abstractions
- Minimal runtime
- Efficient C bindings
The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and
interactive environment for the functional language Haskell. Highlights:
* Supports the entire Haskell 2010 language plus a wide variety of
extensions.
* Has particularly good support for concurrency and parallelism, including
support for Software Transactional Memory (STM).
* Generates fast code, particularly for concurrent programs.
* Works on several platforms including FreeBSD, Windows, Mac, Linux, most
varieties of Unix, and several different processor architectures.
* Has extensive optimisation capabilities, including inter-module optimisation.
* Compiles Haskell code either directly to native code or using LLVM as a
back-end. It can also generate C code as an intermediate target for porting
to new platforms. The interactive environment compiles Haskell to bytecode,
and supports execution of mixed bytecode/compiled programs.
* Profiling is supported, both by time/allocation and various kinds of heap
profiling.
* Comes with several libraries, and thousands more are available on Hackage.