Projects / Moto


Moto is a server-side scripting language much like PHP or ColdFusion. The difference between Moto and other server-side scripting languages is that Moto pages can run interpreted (like PHP) or be natively compiled into dynamically loadable Apache modules (an entire Web site could be compiled into one .so file). It comes with a full suite of objects and functions for state and session management, MySQL and PostgreSQL database connectivity, and a slew of utility classes like stacks, hashtables, string buffers, etc. There is also an included interface definition language for exposing C functions to Moto. All object allocation occurs in a shared memory segment, so maintaining state in objects between page views is a snap.

Operating Systems

Recent releases

  •  18 Jul 2003 02:47

    Release Notes: This release adds support for Operator Overloading in Moto! Overloaded operators may be declared in moto extensions and used inside Moto programs allowing programmers to write more compact, readable, and most importantly fun code! Perl programmers may now comfortably write foo["bar"] = "baz", while C++ purists enjoy the pleasure of intersecting sets with the * operator. To demonstrate this new feature many newly overloaded operators are included in the codex util extension. Function lookup performance has also been dramatically improved, leading to better performance in interpreted mode.

    •  25 Mar 2003 01:08

      Release Notes: Fixes for longstanding symbol collisions with PHP4 (these symbol collisions prohibited Apache from starting on certain platforms when both PHP and Moto were enabled).

      •  13 Mar 2003 22:35

        Release Notes: This release adds Higher Order Programming constructs to Moto letting developers use delegates and callbacks with ease through a syntax that 'Java should have had' . Functions and methods may be assigned to variables. Functions and methods can take functions as arguments or return functions. Functions can even be defined on the fly by applying arguments to other functions or methods! MySQL and PGSQL driver configuration is improved with support for many more database distributions and dependencies. Problems with PosixFileIO have been fixed. Many other features and fixes are also included.

        •  04 Feb 2003 01:42

          Release Notes: This release includes the ability to get stack traces from exceptions in both interpreted and compiled code. Exceptions that get thrown but not caught are now logged to the apache error logs. Both the interpreter and mmc compiled modules can be configured at runtime to catch signals raised during page execution and re-throw them as exceptions. There are many new syntax enhancements including inline declarations, inline array instantiation, a comma operator, and support for multi-line macro calls. New commandline options are included in mmc. Many other bugs have been fixed.

          •  08 Jan 2003 03:53

            Release Notes: A new runtime configuration option (Session.MatchSSIDCookie) was added for requiring that the session ID stored in a Client-side cookie matches the ID stored in a Server-side cookie if both are present. Bugs were fixed with cookie freeing and memory leaks in the interpreter. The casting operator was fixed to allow casting to and from Array types. The IntSet object was fixed so that it may now be used in compiled moto applications.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.