Java Grinder takes Java byte-code from a class file and compiles it into an assembly code text file that can be assembled and run on microcontrollers and CPUs including MSP430, dsPIC, 6502 (Commodore 64), 68000, ARM, and MIPS. A Java API is provided for dealing with SPI, GPIO, Commodore 64 hardware, and more.
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Theano features tight integration with numpy, transparent use of a GPU, efficient symbolic differentiation, speed and stability optimizations, dynamic C code generation, and extensive unit-testing and self-verification. Theano has been powering large-scale computationally intensive scientific investigations since 2007. But it is also approachable enough to be used in the classroom (IFT6266 at the University of Montreal).
FeatureC++ is a C++ language extension that supports Feature-Oriented Programming (FOP). FOP studies feature modularity in program families. The idea of FOP is to build software by composing features. Features are basic building blocks that satisfy intuitive user-formulated requirements on the software system. Features refine other features incrementally. This step-wise refinement leads to a layered stack of features. Mixin Layers are one appropriate technique for implementing features.
The Aida project is two-fold: it defines a simple common markup language designed to describe structured text, and it implements a compiler that translates the Aida syntax into various target formats (HTML, LaTeX, Trac, Mediawiki, Text, Markdown, and others). The system is fast, flexible, and extensible. The core command, aida, is a strict parser (written using Bison and Flex), which analyzes files written in the Aida Markup Language and invokes callbacks in order to convert them to the target format. It embeds a Tcl language interpreter and the callbacks are written in Tcl. This makes it very easy to extend the library and to define new target formats. Furthermore, the Aida files are highly parameterizable via a header and the entire system is configurable at the admin and at the user level. It is also possible to evaluate Tcl code within an Aida file and thus create dynamic contents.
Orc is a library and set of tools for compiling and executing very simple programs that operate on arrays of data. The "language" is a generic assembly language that represents many of the features available in SIMD architectures, including saturated addition and subtraction, and many arithmetic operations.
Larceny is a simple and efficient implementation of the Scheme programming language. Created originally as a test vehicle for research on garbage collection and compiler optimizations, Larceny has grown into a major multi-platform system, and is one of the very few implementations that support all four de facto standards for Scheme: IEEE/ANSI, R5RS, ERR5RS, and the R6RS. Development of Larceny has been supported by NSF, Sun Microsystems, and Microsoft.
Shannon is a general purpose stream-oriented programming language; it is concise and yet feature rich. Streams, FIFOs, and Unix shell-style pipes are first-class concepts in the language. You can connect functions and FIFOs within your program similar to the way you connect processes with pipes in the Unix shell. These constructs in Shannon, however, are highly efficient as no true multitasking is involved, and at the same time they allow you to write more concise and readable code for chained data processing. State is a special type of function that returns a reference to its own local data and any nested functions it may have. In effect, states implement classes in terms of OOP, and yet classes per se aren't part of the language. A special type of modules marked as "persistent" is an effective replacement for databases and SQL. This allows you to access persistent shared data using native Shannon constructs, eliminating the need for an extra query language. Intuitive and minimalist syntax and semantics are used. Particularly, "minimalist semantics" means less things to remember and more possibilities. Shannon is statically-typed, although it provides dynamic typing facilities as well.
JCGO (pronounced as "j-c-go") translates (converts) programs written in Java into platform-independent C code that can be compiled (by third-party tools) into highly-optimized native code for the target platform. JCGO is a powerful solution that enables your desktop, server-side, embedded, mobile, and wireless Java applications to take full advantage of the underlying hardware. In addition, JCGO makes your programs, when compiled to native code, as hard to reverse engineer as if they were written in C/C++. The JCGO translator uses some optimization algorithms that allow, together with optimizations performed by a C compiler, the resulting executable code to reach better performance compared with the traditional Java implementations (based on the Just-In-Time technology). The produced executable does not contain nor require a Java Virtual Machine to execute, so its resource requirements are smaller than that required by a typical Java VM. This also simplifies the process of deployment and distribution of an application.
teeterl is a lean, portable implementation of Erlang. teeterl starts from a single executable file without any additional harness. teeterl is built using Apache Portable Runtime, a library tested on dozens of OSes and their flavors. teeterl borrows from industry-standard Erlang/OTP, especially when it comes to compiler front-end. teeterl provides the concurrency power of Erlang without any telecom cruft.