Squirrel programming language
Encyclopedia : S : SQ : SQU : Squirrel programming language
Squirrel is a high level imperative/OO programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games.
Language features
- dynamic typing
- delegation
- classes & inheritance
- higher order functions
- generators
- cooperative threads(coroutines)
- tail recursion
- exception handling
- automatic memory management (primarily reference counting with backup garbage collector)
- weak references
- both compiler and virtual machine fit together in about 6k lines of C++ code.
- optional 16bits characters strings
Syntax
Squirrel uses a C-like syntaxFactorial in Squirrel:
function factorial(x) else }Random numbers using generators:
function gen_random(max) }Classes and inheritance:local randtor = gen_random(100);
for(local i = 0; i < 10; i += 1) print(">"+resume randtor+"\n");
class BaseVector }x = 0; y = 0; z = 0; }
class Vector3 extends BaseVector function Print() }
local v0 = Vector3(1,2,3) local v1 = Vector3(11,12,13) local v2 = v0 + v1; v2.Print();
History
The language was made public in 2003 under the zlib/libpng license. It is developed and maintained by Alberto Demichelis.See also
External links
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
