SPL is a powerful scripting language. It is very feature-rich (hashes, regular expressions, objects, exceptions, built-in template language, etc. pp.) and has a c-style syntax. The Name "SPL" is a left-recursive acronym and expands to "SPL Programming Language". The name was meant to be pronounced as an acronym, but I've already heard people pronouncing it "spell", which is also fine with me. The SPL VM is a pure bytecode interpeter. Support for JIT compilation or generating machine code for the host CPU is not planed and doesn't make much sense for various technical reasons. The entire SPL toolchain (compiler, assembler, virtual machine, etc) is pretty small (about 100k on x86 architectures). The additional memory usage by the applications is rather small too. One of the more advanced VM features is the capability to dump the entire VM state to a file and resume later. It is even possible to resume on another machine with a different architecture. SPL has support for loadable modules. The spl package contains already modules for stuff such as accessing SQL databases (SQLite, Postgres, MySQL), XML (incl. XPATH and XSLT), Terminal and File IO, Web Application development (the CGI, WSF and W2T (Web 2.0 Toolkit) modules), SDL, Qt and much more. SPL currently supports Linux, BSD Systems, other POSIX environments, MacOS-X (Darwin), SGI IRIX, Cygwin and native Win32 (using MinGW).