The Gambit programming system is a full implementation of the Scheme
language which conforms to the R4RS and IEEE Scheme standards. It
consists of two main programs: gsi-gambit, the Gambit Scheme
interpreter, and gsc-gambit, the Gambit Scheme compiler.
Gambit-C is a version of the Gambit programming system in which the
compiler generates portable C code, making the whole Gambit-C system
and the programs compiled with it easily portable to many computer
architectures for which a C compiler is available. With appropriate
declarations in the source code the executable programs generated by
the compiler run roughly as fast as equivalent C programs.
Rhino is an open-source implementation of JavaScript written entirely
in Java. It is typically embedded into Java applications to provide
scripting to end users.
Rhino is an implementation of the core language only and doesn't contain
objects or methods for manipulating HTML documents.
Rhino contains
* All the features of JavaScript 1.6
* Allows direct scripting of Java
* A JavaScript shell for executing JavaScript scripts
* A JavaScript compiler to transform JavaScript source files
into Java class files
* A JavaScript debugger for scripts executed with Rhino
Rubinius is an implementation of the Ruby programming language.
The Rubinius bytecode virtual machine is written in C++, incorporating
LLVM to compile bytecode to machine code at runtime. The bytecode compiler
and vast majority of the core classes are written in pure Ruby.
To interact with the rest of the system, the VM provides primitives which can
be attached to methods and invoked. Additionally, FFI provides a direct call
path to most C functions.
Rubinius uses a precise, compacting, generational garbage collector. It
includes a compatible C-API for C extensions written for the standard Ruby
interpreter (often referred to as MRI Matz's Ruby Implementation).
This is a free port of the original SIL (SNOBOL4 Implementation Language)
macro version of SNOBOL4 (developed at Bell Labs) with the C language as
target.
SNOBOL4, while known primarily as a string language excels at any task
involving symbolic manipulations. It provides run time typing, garbage
collection, user data types, on the fly compilation. Its primary weakness
is its simple syntax, and lack of "structured programming" constructs.
However some consider the spareness of SNOBOL4 syntax a strength when
compared to some "modern" agglomerations such as perl.
Squirrel is a high level imperative/OO programming language, designed
to be a powerful scripting tool that fits in the size, memory bandwidth,
and real-time requirements of applications like games. However Squirrel
offers a wide range of features like dynamic typing, delegation, classes
& inheritance, higher order functions, generators, coroutines, tail
recursion, exception handling, automatic memory management, weak
references, etc.
Squirrel is inspired by languages like Python, Javascript and especially
Lua. The API is very similar and the table code is based on the Lua one.
Vala is a new programming language that aims to bring modern programming
language features to GNOME developers without imposing any additional
runtime requirements and without using a different ABI compared to
applications and libraries written in C.
valac, the Vala compiler, is a self-hosting compiler that translates
Vala source code into C source and header files. It uses the GObject
type system to create classes and interfaces declared in the Vala source
code. It's also planned to generate GIDL files when gobject-
introspection is ready.
tinypy is a minimalist implementation of python in 64k of code
it includes a whole heap of features:
* parser and bytecode compiler written in tinypy
* fully bootstrapped
* luaesque virtual machine with garbage collection written in C
it's "stackless" sans any "stackless" features
* cross-platform :) it runs under Windows / Linux / OS X
* a fairly decent subset of python
o classes and single inheritance
o functions with variable or keyword arguments
o strings, lists, dicts, numbers
o modules, list comprehensions
o exceptions with full traceback
o some builtins
* batteries not included -- yet
The amavis-logwatch(1) utility is an Amavisd-new log parser
that produces summaries, details, and statistics regarding
the operation of Amavisd-new (henceforth, simply called Amavis).
A key feature of amavis-logwatch is its ability to produce
a very wide range of reports with data grouped and sorted as
much as possible to reduce noise and highlight patterns. Brief
summary reports provide a quick overview of general Amavis
operations and message delivery, calling out warnings that
may require attention. Detailed reports provide easy to scan,
hierarchically-arranged and organized information, with as
much or little detail as desired.
Heirloom mailx (formerly known as "nail") is derived from Berkeley
Mail and provides the functionality of the System V and POSIX mailx
commands. Additional features include support for MIME, IMAP
(including caching and disconnected use), POP3, SMTP, S/MIME,
international character sets, maildir folders, message threading,
powerful search methods, scoring, and a Bayesian junk mail filter.
Mailx can be used as a mail batch language in nearly the same way as
it is used interactively. It can thus act as a mailbox filter, can
fetch mail from remote accounts, and can send files as attachments.
The OSSP lmtp2nntp program is an LMTP service for use in conjunction
with an MTA (like Sendmail), providing a reli- able real-time mail to
news gateway. Input messages get their headers slightly reformatted
to match Usenet news article format. The article is then posted or
feeded into a remote NNTP service (like INN). Delivery must take
place immediately or the transaction fails. OSSP lmtp2nntp relies
on the queuing capabilities of the MTA in order to provide a fully
reliable service. For this the program returns proper delivery status
notification which indi- cates successful completed action, persistent
transient failure or permanent failure.