The Squirrel programming language

Software Screenshot:
The Squirrel programming language
Software Details:
Version: 3.0.3
Upload Date: 20 Feb 15
Developer: Alberto
Distribution Type: Freeware
Downloads: 13

Rating: 3.0/5 (Total Votes: 1)

The Squirrel programming language is a high level imperative/OO programming language, designed to be a powerful scripting tool that fits in the size, memory bandwidth, and real-time requirements of applications like games. Although Squirrel offers a wide range of features like:

· Open Source zlib/libpng licence
· dynamic typing
· delegation
· higher order functions
· generators
· cooperative threads(coroutines)
· tail recursion
· exception handling
· automatic memory management (CPU bursts free; mixed approach ref counting/GC)
· both compiler and virtual machine fit together in about 6k lines of C++ code.
· optional 16bits characters strings

Squirrel is inspired by languages like Python,Javascript and expecially Lua(The API is very similar and the table code is based on the Lua one).

squirrel's syntax is similar to C/C++/Java etc... but the language has a very dynamic nature like python/Lua etc...

local array=[1,2,3,{a=10,b="string"}];

foreach (i,val in array)
{
::print("the type of val is"+typeof val);
}


Entity

What is new in this release:

  • 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.

What is new in version 3.0 RC1:

  • 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.

What is new in version 2.2.3:

  • added sq_getfunctioninfo
  • added compile time flag SQUSEDOUBLE to use double precision floats
  • added global slot _floatsize_ int the base lib to recognize single precision and double precision builds
  • sq_wakeupvm can now resume the vm with an exception
  • added sqstd_format
  • generators can now be instantiated by calling sq_call() or closure.call()
  • fixed a bug in sqstd_printcallstack(thx takayuki_h)
  • fixed modulo by zero(thx jup)
  • fixed negative enums and constants
  • fixed generator crash bug if invoked as tail call (thx Mr.Accident)
  • fixed some minor bug

Similar Software

Plessc
Plessc

19 Feb 15

Xojo
Xojo

20 Feb 15

JarBuilder
JarBuilder

2 Jun 15

Comments to The Squirrel programming language

Comments not found
Add Comment
Turn on images!