Projects / The Squirrel programming la...

The Squirrel programming language

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
Licenses
Operating Systems
Implementation

RSS Recent releases

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.

  •  18 Aug 2010 23:16

Release Notes: This release fixes a nasty bug in the classes. It fixes a closure bug.

  •  11 Aug 2010 12:54

    Release Notes: 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.

    Screenshot

    Project Spotlight

    xterm

    A terminal emulator for the X Window System

    Screenshot

    Project Spotlight

    ITDB

    A Web-based asset management system.