It was designed to be a powerful scripting language for small applications like games, due to its small size, reduced memory bandwidth and little real-time requirements.
Squirrlel has been tested with the following compilers:
MS Visual C++ 6.0,7.0,7.1 and 8.0 (32 and 64bits)
MinGW gcc 3.2 (mingw special 20020817-1)
Cygnus gcc 3.2
Linux gcc 3.2.3
Linux gcc 4.0.0 (x86 64bits)
Here are some key features of "The Squirrel programming language":
· Open Source zlib/libpng license
· Dynamic typing
· Delegation
· Classes & inheritance
· Higher order functions
· Generators
· Cooperative threads(coroutines)
· Tail recursion
· Exception handling
· Automatic memory management (CPU bursts free; mixed approach ref counting/GC)
· Weak references
· Both compiler and virtual machine fit together in about 6k lines of C++ code.
· Optional 16bits characters strings
· Compiles on both 32 and 64 bits architectures
Limitations:
· The project has been compiled and run on Windows(Windows XP/2000 on Intel x86 Windows XP Pro on AMD x64) and Linux(Slackware 9.0 on Intel x86, Fedora Core 4 on AMD x64).
What's New in This Release: [ read full changelog ]
· Added real free variables(thx Paul Ruizendaal)
· Added refactored function call implementation and compiler(thx Paul Ruizendaal)
· Added sq_getfunctioninfo
· Added compile time flag SQUSEDOUBLE to use double precision floats
· Added global slot _floatsize_ int the base lib to recognize single precision and double precision builds
· sq_wakeupvm can now resume the vm with an exception
· Added sqstd_format
· Blobs can be cloned
· Generators can now be instantiated by calling sq_call() or closure.call()
· Added compile time flag SQUSEDOUBLE to use double precision floats
· Fixed debughook bug
· Fixed cooroutine error propagation