Friday, February 17, 2006

M is for ...


is a small macro-style tool for maintaining small (or not small) configuration files that tend to change frequently or are deployment specific. An unholy marriage of make, m4, perl and lisp useful for "hands-off" configuration and build environments.


is a light-weight, cross platform programming language. It is garbage collected and self hosting and produces portable byte-compiled binaries that can be executed on any platform with the appropriate interpreter. Interpreters are available for Linux, DOS (32-bit) and DOS (16-bit) and the interpreter source should be easily compilable for other platforms.

Back in 1997 I decided, more or less for the hell of it, to design and implement a programming system. Mercat, nee Micron, is that language, and this is it.

Mercat is not really useful for anything much. It is, on the other hand, an excellent example of how to implement a self-hosted recursive-descent-parsed language and virtual machine. The code is --- I hope --- reasonably easy to understand, and I think the overall design is quite elegant.

Features include:
  • Garbage collection
  • Portable binary files
  • C-like syntax
  • Associative arrays as a primitive type
  • Real strings
  • Easily expandable through a simple, fast system call interface
  • Self-hosted the compiler and assembler are written in Mercat
  • Text screen interface through ncurses


is a new programming language that was developed for applications distributed on a small scale. You can make simple applications. Features include: if statements, nested functions, forms, and over 100 functions. To run Mocha you'll need the Visual Basic 6.0 runtime file (msvbvm60.dll), the Microsoft Common Dialog Control, and the Windows Common Controls. For the actual Mocha applications though, you only need msvbvm60.dll.


MPD is a new programming language that has a syntax very close to the one used in the book Foundations of Multithreaded, Parallel, and Distributed Programming. The name of the language comes from the first three letters of the main words of the title of the book: Multithreaded, Parallel, and Distributed. These words also capture a distinguishing aspect of the language, namely that it supports all three of these concurrent programming techniques.

MPD is implemented as a variant of the SR programming language. It has a different parser, but it uses the same intermediate form and run-time system as SR. Consequently, MPD provides the same variety of concurrent programming mechanisms as does SR.

The language overview page contains links to a tutorial on the language, sample programs, a synopsis of the syntax of MPD, and a description of how to compile and execute programs. The MPD distribution contains manual pages and numerous additional examples.

MPD programs can execute on single processors, shared-memory multiprocessors, or clusters of (homogeneous) processors. The implementation supports a variety of different kinds of processors and Unix systems. See the download page for further information.


is a command line utility that can make using Windows a much less annoying experience by allowing you to start programs simply by typing their command lines, instead of wading through dozens of menus.

This is great for fast typists, people who are used to UNIX, and generally anyone who doesn't like the idiot-proof way Windows tends to do things.

MCL is highly customizable, widely extensible, very powerful, and convenient. It was written using Microsoft Visual C++ 6.0, and contains nearly 6000 lines of C++ code. Because it does not make use of MFC, Delphi, or Visual Basic runtime code, memory usage is low, download size is small, and performance is high.


is a simple typeless language which is based on BCPL. It makes extensive use of pattern matching somewhat related to that used in ML and Prolog, and some other features come from C.
An interpretive implementation of MCPL has been developed in a style similar to the BCPL Cintcode implementation. It currently works well enough to run several demonstration programs. Experimental native code versions for Linux and the DEC Alpha are included as part of this distribution.


stands for MIX Development Kit, and provides tools for developingand executing, in a MIX virtual machine, MIXAL programs.
The MIX is Donald Knuth's mythical computer, described in the firstvolume of The Art of Computer Programming, which is programmed usingMIXAL, the MIX assembly language.
MDK includes a MIXAL assembler (mixasm) and a MIX virtual machine(mixvm) with a command line interface. In addition, a GTK+ GUI tomixvm, called gmixvm, is provided and, in case you are an Emacs guy,you can try misc/mixvm.el, which allows running mixvm inside an EmacsGUD buffer.
Using these interfaces, you can debug your MIXAL programs at sourcecode level, and read/modify the contents of all the components of theMIX computer (including block devices, which are simultated using thefile system).


- Meta Language
METAL is a 100% free extended BASIC language metacompiler for Mac.
The ultimate goals of METAL are to bring back the spirit of 1980s programming and provide both beginners and advanced developers



ist ein Programm für alle Windows (32-Bit) Systeme mit dem Sie Ihre Arbeit am PC automatisieren können, d.h. Aufgaben die Sie bis her immer von Hand mit der Maus oder Tastatur gemacht haben können Sie jetzt von MacroX erledigen lassen, einfach und schnell!


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.


is a simple, object-oriented and strongly typed language.


- 'Misc Is a Script Compiler' - is a programming language designed especially for performing calculations on large amounts of data. The Misc Engine library is a portable C++ library containing Misc compiler, interpreter and standard built-in functions.

The main purpose of Misc is to serve as a base engine for other applications. For example, one could create a GUI front-end for drawing graphs using the data generated by a script written in the Misc language. The functionality of the Misc Engine by itself is limited to calculations, data manipulations and simple I/O operations. However its ability to be extended with additional functions makes it a powerful tool.

Key Features
  • Misc is a high level, procedural language. It's syntax is similar to C,but like most other scripting languages, it supports dynamic variable types.
  • Native data types include booleans, integer, floating point and complex numbers, vectors and matrices up to 4x4 elements and strings.
  • Misc can efficiently perform operations on large data using continuous arrays and lambda functions.
  • Misc is able to operate on complicated, hierarchical data structures.
  • A large number of built-in functions is included in the Misc Standard Module.Additional modules can be easilly created and plugged into Misc Engine.


is a non-strict functional language specifically designed for an OO envrionment. It can be thought of as a 'light' version of Haskell with the syntax a meld of that of Haskell and the Java/C family.


is a programming language and development environment for the Apple Macintosh, written and maintained by Mike Hore . It is an object-oriented native-code dialect of the Forth programming language, with origins as a re-implementation of Neon .(Neon is a commercial programming package for the Macintosh that was sold by Kriya Systems, Inc. in the mid-1980s.)
While Neon died off years ago, Mops has thrived and continued to continued to improve, earning a reputation along the way as being both agile and user-friendly. Uniquely, Mops has included its complete source code in each distribution since its first public release. Seventeen years since its inception, Mops has completed its transition into a native stand-alone development solution for Mac OS X, with its original author still at the helm.
As a fine example of public domain software, Mops attracts advanced and novice users alike. Whether you have become frustrated with traditional vendor-supported language "solutions", grown resentful of the legal restrictions imposed on you by most developers of commercial software, or even if you never thought you had a reason (before now) to try something different, Mops might be just what you are looking for!



- My Business Basic - is an open source Business Basic Interpreter/Run-time environment. We are working towards becoming a free, fully functional business basic.

No comments: