Squirrel (programming language)
Squirrel is a high level imperative, object-oriented programming language, designed to be a lightweight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games and embedded systems.
MirthKit, a simple toolkit for making and distributing open source, cross-platform 2D games, uses Squirrel for its platform. It is used extensively by for scripting and was also used in . It is also used in Left 4 Dead 2, Portal 2 and Thimbleweed Park for scripted events and in NewDark, an unofficial Thief 2: The Metal Age engine update, to facilitate additional, simplified means of scripting mission events, aside of the regular C scripting.Language features
Squirrel uses a C-like syntax.
;Factorial in Squirrel:
function factorial
;Generators:
function not_a_random_number_generator
local randtor = not_a_random_number_generator;
for
print;
;Classes and inheritance:
class BaseVector
class Vector3 extends BaseVector
local v0 = Vector3
local v1 = Vector3
local v2 = v0 + v1;
v2.Print;
Applications
Non-game applications using Squirrel
- Enduro/X Cluster Application server
- Electric Imp An end to end IoT platform
Games using Squirrel
- Left 4 Dead 2
- Thief II
- Portal 2
- Alien Swarm
- OpenTTD
- GTAIVs IV-MP
- Mafia IIs M2-Multiplayer
- '
- Shadow Warrior
- War Thunder
- SuperTux
- Sonic Unleashed
- Contagion
- Thimbleweed Park
- Simutrans
- '
-
History
The language was made public in 2003 under the zlib/libpng license.
In November 2010, the license was changed to the MIT license to enable the project to be hosted on Google Code.
It is developed and maintained by Alberto Demichelis.