µsli is a register machine which can be used for learning the basic concepts of register machines. It uses Sexp program files as input and features a stack, simple arithmetics, and conditional jumps. The register machine comes with a lean Swing GUI that supports editing the program, stepping through and monitoring the registers, and the stack. It aims to be a lightweight, but usable and extendable, learning environment for students and adults that want learn about register machines and register based virtual machines.
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.
LavaPE is a programming environment for the experimental object-oriented programming language Lava. It replaces text editing with structure editing, thereby preventing all syntactic and many semantic errors. The pure point-and-click nature of Lava programming and the concise representation of programs as declaration trees with small chunks of executable code simplify programming, and ease comprehension.
Scilab is a numerical computation system similiar to Matlab or Simulink. Scilab includes hundreds of mathematical functions, and programs from various languages (such as C or Fortran) can be added interactively. It has sophisticated data structures (including lists, polynomials, rational functions, and linear systems), an interpreter, and a high-level programming language. Scilab has been designed to be an open system where the user can define new data types and operations on these data types by using overloading. A number of toolboxes are available with the system.
RJCE enables the editing of any method at runtime, applying the changes to any combination of objects, such as an array, or a complete class. It consists of a compiler, javaprec, and an IDE, Runtime Object Modifier (ROM). javaprec is used to compile programs, enabling runtime editing, and uses both sun.tools.javac and ANLTR for compilation. ROM is a JFrame used for editing methods, browsing classes, and viewing variables at runtime. It also includes an interpreter that runs Java scripts (which circumvent normal language access control) and is run from within any Java program. Aspects are also incorporated into RJCE, to enhance runtime editing.
EFEU is suitable for handling data cubes, which are especially useful for building data warehouses. It consists of a building system including mkmf (a xmkmf like Makefile generator), esh (a powerful C/C++ interpreter), efeudoc (a document generator with different output formats (LaTeX, HTML, roff, etc.)). EFEU has a huge set of C library core features, including robust memory allocation tools, functions to concatenate and copy strings with memory allocation, buffers for dynamically-growing strings and fields, data structures with reference counters and garbage collection, and file tools that allow you to specify pipes wherever a filename is expected and support automatic implementation of (de)compression filters (gzip) depending on filename extensions. It also includes a high-level interface to files, strings, and anything else you can read from or write to.