summaryrefslogtreecommitdiff
path: root/lang/spl/DESCR
blob: c59b8849cc0acab3b048f662ac663a43b3869725 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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).