Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Squirrel (programming language)
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.

MirthKit, a simple toolkit for making and distributing open source, cross-platform 2D games, uses Squirrel for its platform. It is used extensively by Code::Blocks for scripting and was also used in Final Fantasy Crystal Chronicles: My Life as a King. 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.

We don't have any images related to Squirrel (programming language) yet.
We don't have any YouTube videos related to Squirrel (programming language) yet.
We don't have any PDF documents related to Squirrel (programming language) yet.
We don't have any Books related to Squirrel (programming language) yet.
We don't have any archived web articles related to Squirrel (programming language) yet.

Language features

Syntax

Squirrel uses a C-like syntax, albeit inspired by that of Lua as well.

Factorial in Squirrel local function factorial(x) // Getting function which is factorial, then getting value which is x { if (x <= 1) { // if x is less than 1 return 1; // then the code will just return 1 } else { // if that doesn't work return x * factorial(x-1); // then the code will return x times factorial(x-1) } } Generators function not_a_random_number_generator(max) { local last = 42; local IM = 139968; local IA = 3877; local IC = 29573; for(;;) { // loops forever yield (max * (last = (last * IA + IC) % IM) / IM); } } local randtor = not_a_random_number_generator(100); for(local i = 0; i < 10; i += 1) print(">"+resume randtor+"\n"); Classes and inheritance class BaseVector { constructor(...) { if(vargv.len() >= 3) { x = vargv[0]; y = vargv[1]; z = vargv[2]; } } x = 0; y = 0; z = 0; } class Vector3 extends BaseVector { function _add(other) { if(other instanceof ::Vector3) return ::Vector3(x+other.x,y+other.y,z+other.z); else throw "wrong parameter"; } function Print() { ::print(x+","+y+","+z+"\n"); } } local v0 = Vector3(1,2,3) local v1 = Vector3(11,12,13) local v2 = v0 + v1; v2.Print();

Applications

Applications using Squirrel

  • Code::Blocks, integrated development environment
  • Enduro/X, cluster application server
  • Electric Imp, an end-to-end IoT platform5

Games using Squirrel

History

The language was made public in 2003 under the zlib/libpng license.30 In November 2010, the license was changed to the MIT license to enable the project to be hosted on Google Code.3132 It is developed and maintained by Alberto Demichelis.

See also

  • Free and open-source software portal

References

  1. MirthKit Developer Wiki Archived 2014-02-11 at the Wayback Machine http://devs.mirthkit.com

  2. Brandon Boyer (21 February 2008). "Gamasutra - GDC 2008 Event Coverage". gamasutra.com. Gamasutra. http://www.gamasutra.com/view/news/17560/GDC_Tsuchida_Shiraishi_Talk_Square_Enixs_New_WiiWare_Choices.php

  3. "Exclusive: Behind The Scenes of Final Fantasy's WiiWare Debut". gamasutra.com. Gamasutra. 23 June 2008. Retrieved 22 September 2011. http://www.gamasutra.com/view/news/19143/Exclusive_Behind_The_Scenes_of_Final_Fantasys_WiiWare_Debut.php

  4. "L4D2 Vscripts - Valve Developer Community". developer.valvesoftware.com. Retrieved 2018-07-06. http://developer.valvesoftware.com/wiki/L4D2_Vscripts

  5. "Electric Imp programming guide". electricimp.com. https://developer.electricimp.com/squirrel/squirrel-guide/introduction

  6. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  7. "th155-decomp". GitHub. Retrieved 2020-10-19. https://github.com/mathfreak231/th155-decomp/tree/v1.10d

  8. "WHAT in the hell, is consumable nut? Please help this is an error code I got, have any of you got this before?". reddit.com. 2019-03-24. Retrieved 2021-09-04. https://www.reddit.com/r/apexlegends/comments/b4ohol/what_in_the_hell_is_consumable_nut_please_help/

  9. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  10. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  11. Brandon Boyer (21 February 2008). "Gamasutra - GDC 2008 Event Coverage". gamasutra.com. Gamasutra. http://www.gamasutra.com/view/news/17560/GDC_Tsuchida_Shiraishi_Talk_Square_Enixs_New_WiiWare_Choices.php

  12. Gothic 2 Online https://gothic-online.com/

  13. "iv-multiplayer.com". www.iv-multiplayer.com. Archived from the original on 2012-06-07. Retrieved 2018-07-06. https://web.archive.org/web/20120607080245/http://wiki.iv-multiplayer.com/wiki/index.php?title=FAQ

  14. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  15. "Liberty Unleashed". Retrieved 2019-12-04. http://liberty-unleashed.co.uk

  16. "m2-multiplayer.com". www.m2-multiplayer.com. Archived from the original on 2013-01-02. Retrieved 2018-07-06. https://web.archive.org/web/20130102090238/http://www.m2-multiplayer.com/

  17. "undernightinbirth". GitHub. Retrieved 2024-08-18. https://github.com/Fatih120/undernightinbirth

  18. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  19. "AI:Main Page - OpenTTD". wiki.openttd.org. Retrieved 2018-07-06. http://wiki.openttd.org/?title=AI:Main_Page&oldid=76593

  20. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  21. "Simutrans-Squirrel-API: Main Page". dwachs.github.io. Retrieved 2018-07-06. https://dwachs.github.io/simutrans-sqapi-doc/

  22. "The VG Resource Wiki". wiki.vg-resource.com. Retrieved 2021-09-04. https://wiki.vg-resource.com/Sonic_Unleashed_(SD)

  23. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  24. "Thimbleweed Park Blog- Engine". blog.thimbleweedpark.com. Retrieved 2018-07-06. http://blog.thimbleweedpark.com/engine

  25. "NewDark 1.25: Squirrel script?". ttlg.com. 2017-03-20. Retrieved 2019-12-25. https://www.ttlg.com/forums/showthread.php?t=147690

  26. "VScript". valvesoftware.com. 2014-08-20. Retrieved 2015-01-17. https://developer.valvesoftware.com/wiki/VScript

  27. Vice City Multiplayer https://vc-mp.org/

  28. "Welcome To VC-MP website!". Archived from the original on 2006-04-05. Retrieved 2014-05-04. https://web.archive.org/web/20060405045618/http://www.vicecitymultiplayer.com/

  29. "undernightinbirth". GitHub. Retrieved 2024-08-18. https://github.com/Fatih120/undernightinbirth

  30. "The Squirrel programming language". SourceForge. Retrieved 2018-07-06. http://sourceforge.net/projects/squirrel/

  31. "Moving to code.google.com and MIT License - The Language - Squirrel - The Programming Language". forum.squirrel-lang.org. Retrieved 2018-07-06. http://forum.squirrel-lang.org/default.aspx?g=posts&m=4152

  32. "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com. Retrieved 2018-07-06. https://code.google.com/p/squirrel/