Aphasia is an advanced scripting language for the web. It features a type-safe core, C++ modules with signatures, an optimizing "compiler", higher-order functions, built-in database support, garbage collection, and more.

Aphasia uses FastCGI to talk to an apache web server, and only cooperates with mySQL. The compiler is written in Standard ML. Because of these dependencies, installation is pretty complicated. I don't recommend installing it unless you're really interested in development. I've only ever compiled it on linux, but it would probably work on other systems with apache/fastcgi/mysql with a little tweaking. Plans for the future include streamlining the installation procedure and removing as many dependencies as possible.

There are two versions of Aphasia. First was a prototype that is about 6 years old ("Aphasia 1 Prototype"). Many applications were written for Aphasia 1, but it is now deprecated. As of 31 Dec 2005, Aphasia 2 is the preferred version of the language. It is "sideways-compatible" with Aphasia 1 code, so that applications can be ported in a piecemeal fashion (also, both versions still use the Aphasia 1 apache plugin). Aphasia 2 syntax closely resembles Standard ML.

Please see CVS for code. For examples of sites built with aphasia, see spacebar and snoot.org. If you'd like to get involved with the project, please contact me.

- Tom 7