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 syntax.
|Tags||Software Development Compilers Interpreters|
|Operating Systems||OS Independent|
Release Notes: Improved error messages for _cmp(when a non-integer value is returned). A class.newmember() built in method. A class.rawnewmember() built-in method. Adds sq_rawnewmember(), sq_getversion(), sq_typeof(), sq_getclosurename(), and file.close() in stdlib. The closure.getinfos() built-in method is documented. Some minor bugs have been fixed.
Release Notes: 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.
Release Notes: 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.
Release Notes: 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.
Release Notes: This release fixes a nasty bug in the classes. It fixes a closure bug.