HuC is a PC Engine C compiler. It can create ROMs (hucard) or CD images
and is bundled with an assembler and all kinds of libraries. You can ouput
text, scrolls, make sound, control CD, handle sprites and tiles, and more.
Jim is an opensource small-footprint implementation of the Tcl programming
language. It implements a large subset of Tcl and adds new features like
references with garbage collection, closures, built-in Object Oriented
Programming system, Functional Programming commands, first-class arrays and
UTF-8 support. All this with a binary size of about 100-200kB (depending upon
selected options).
Js_of_ocaml is a compiler of OCaml bytecode to Javascript. It makes it
possible to run Ocaml programs in a Web browser.
Kawa is a full Scheme implementation written in Java. With Kawa you can
access Java objects, methods, fields and classes within your Scheme code.
Scheme functions and files are compiled into optimized Java byte-code,
allowing you to write Java applications, applets, classes, and servlets
in Scheme.
The libjit library implements Just-In-Time compilation functionality. Unlike
other JIT's, this one is designed to be independent of any particular virtual
machine bytecode format or language. The hope is that Free Software projects
can get a leg-up on proprietry VM vendors by using this library rather than
spending large amounts of time writing their own JIT from scratch.
This JIT is also designed to be portable to multiple archictures. If you run
libjit on a machine for which a native code generator is not yet available,
then libjit will fall back to interpreting the code. This way, you don't need
to write your own interpreter for your bytecode format if you don't want to.
Lua is a programming language originally designed for extending applications,
but also frequently used as a general-purpose, stand-alone language. Lua
combines simple procedural syntax (similar to Pascal) with powerful data
description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory
management with garbage collection, making it ideal for configuration,
scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for
implementing features, instead of providing a host of features directly in
the language. For example, although Lua is not a pure object-oriented
language, it does provide meta-mechanisms for implementing classes and
inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the
language small, while allowing the semantics to be extended in unconventional
ways. Extensible semantics is a distinguishing feature of Lua.
Lua is implemented as a small library of C functions, written in ANSI C, and
compiles unmodified in all known platforms. The implementation goals are
simplicity, efficiency, portability, and low embedding cost.
Lua is a programming language originally designed for extending applications,
but also frequently used as a general-purpose, stand-alone language. Lua
combines simple procedural syntax (similar to Pascal) with powerful data
description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory
management with garbage collection, making it ideal for configuration,
scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for
implementing features, instead of providing a host of features directly in
the language. For example, although Lua is not a pure object-oriented
language, it does provide meta-mechanisms for implementing classes and
inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the
language small, while allowing the semantics to be extended in unconventional
ways. Extensible semantics is a distinguishing feature of Lua.
Lua is implemented as a small library of C functions, written in ANSI C, and
compiles unmodified in all known platforms. The implementation goals are
simplicity, efficiency, portability, and low embedding cost.
Awk scans input files for specified patterns and can perform an associated
action when a line of the file matches the pattern.
This is the One True version of awk described in "The AWK Programming Language"
by Al Aho, Brian Kernighan, and Peter Weinberger
(Addison-Wesley, 1988, ISBN 0-201-07981-X).
The New Brainfuck Compiler is an optimizing Brainfuck-C and
Brainfuck-Java compiler.
Maude is a high-performance reflective language and system supporting both
equational and rewriting logic specification and programming for a wide range
of applications. Maude has been influenced in important ways by the OBJ3
language, which can be regarded as an equational logic sublanguage. Besides
supporting equational specification and programming, Maude also supports
rewriting logic computation.
Rewriting logic is a logic of concurrent change that can naturally deal with
state and with concurrent computations. It has good properties as a general
semantic framework for giving executable semantics to a wide range of
languages and models of concurrency. In particular, it supports very well
concurrent object-oriented computation. The same reasons making rewriting
logic a good semantic framework make it also a good logical framework, that
is, a metalogic in which many other logics can be naturally represented and
executed.
Maude supports in a systematic and efficient way logical reflection. This
makes Maude remarkably extensible and powerful, supports an extensible algebra
of module composition operations, and allows many advanced metaprogramming and
metalanguage applications. Indeed, some of the most interesting applications
of Maude are metalanguage applications, in which Maude is used to create
executable environments for different logics, theorem provers, languages, and
models of computation.