Brook for GPUs is a compiler and runtime implementation of the Brook stream programming language for modern graphics hardware. The goals for this project are to demonstrate general purpose programing on GPUs, to provide a useful tool for developers who want to run applications on GPUs, and to research the stream language programming model, streaming applications, and system implementations.
Chicken is a Scheme compiler that translates most of R5RS Scheme into relatively portable C. It supports fully general tail-call recursion, first-class continuations, and has a very flexible and efficient interface to C and C++. Chicken implements several extensions to the Scheme language: lightweight threads, pattern matching macros, dynamic loading of compiled code, and various object-oriented paradigms, such as TinyCLOS, and others. The library system includes hundreds of convenient modules for practical use.
Factor is a dynamically-typed stack-based programming language. Factor runs on various OSes and CPU architectures, and provides an optimizing compiler, interactive development environment, powerful collections, higher order programming, continuations, and a growing library of contributed code.
Ivy is a compiler and runtime library for an extended dialect of C that checks type, memory, and concurrency safety. Ivy supports the full C language, and relies on a small number of lightweight annotations in the source code to keep time and space overheads reasonable. Ivy is implemented as a C-to-C compiler using gcc as its backend.
Minnow is a concurrent programming language with a Ruby-like syntax. It compiles to an executable and uses a companion library to allow fully-rebalanced microthreads. Minnow gains a lot of strength from its actor model, which uses message passing, as opposed to threads and locking, as its concurrency model. Taking a cue from Erlang, actor creation and message passing is extremely lightweight (often on the order of a few nanoseconds). The language has a built-in foreign function interface that allows developers to leverage existing C-based libraries in a simple SWIG-like manner. Minnow's object model is based on "melding" features together to form objects.
NASM is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats including Linux a.out and ELF, COFF, Microsoft 16-bit OBJ, Win32/64, and Apple Mach-O. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports all currently known opcodes, and has advanced macro capability. It includes a disassembler as well.
The Objeck computer language is an object-oriented computing language with functional features that has ties with Java, C#, and Pascal. In this language, all data types are treated as objects. The language consists of a compiler and VM with an accompanying memory management and JIT compiler.
Oink is a collaboration of backends for the Elsa C and C++ frontend. It aims to be industrial-strength for immediate utility in finding bugs, extensible for ease in adding backends, and composable for ease in combining existing ones. It computes expression-level and type-level data flow, and statement-level intra-procedural control flow (by delegating to Elsa). It's easy to get started by using the two demo backends that print graphs of these flows. It also comes with a client of the data flow analysis that does type qualifier inference: Cqual++, a C/C++ frontend for Cqual. Whole-program analyses may be attempted using the linker imitator.
Red language is a native-code compiled functional, imperative, symbolic, and homoiconic programming language that re-uses most of REBOL's syntax and semantics. Both static and JIT compilation support are planned. A strong emphasis is made on concurrency and both task and data parallelism support using an actor-like abstraction and parallel collections (Scala-like). The target range of usage spreads from low-level system programming (thanks to the built-in Red/System C-level DSL) and embedded systems, up to high-level scripting, with an optional REPL console.
Rhope is a dynamically typed dataflow programming language that also borrows some ideas from other paradigms. Unlike mainstream programming languages, statements are not necessarily executed in the order they are written, but instead based on their dependencies. Statements that do not share dependencies run in parallel. Most operations have value semantics (i.e. modifying an object makes a copy rather than changing the original) making this parallelism safe. For managing global state, Rhope has a transaction mechanism.