Squirrel is a light-weight programming language
(around 6000 lines of code) that features
higher-order functions, classes/inheritance, delegation, tail recursion, generators, cooperative threads, exception handling, reference counting and garbage collection on demand. It has a C-like
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.
This release adds # as an alternative symbol for "line comment" (mostly useful for shell scripts). It adds an alignment flag for user data types. It adds a new API function sq_throwobject. There are minor bugfixes.
sq_getcallee() was added in the API. sq_getfreevariable() also works for native closures. Minor optimizations were made. Several warnings when compiling with GCC 4.x were removed. Some errors in the documentation were fixed. A bug when using SQUSEDOUBLE and 32-bit intengers was fixed. A bug when invoking generators with closure.call() was fixed.
Metamethods error handling was improved. The "isstatic" parameter was added to the _newmember metamethod. sq_getrefcount() was added to return the number of refences from C++. Minor bugs were fixed.
Class methods can be added or replaced after the class has been instantiated. JSON compliant table syntax was added as an experimental feature. sq_getsize() now returns userdatasize for classes and instances. setroottable() and setconsttable() now return the previous value of the respective table. A few minor bugfixes and refactoring were done.