# Squirrel

> programming language

**Wikidata**: [Q1200182](https://www.wikidata.org/wiki/Q1200182)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Squirrel_(programming_language))  
**Source**: https://4ort.xyz/entity/squirrel

## Summary
Squirrel is a small, class-based scripting and procedural programming language designed for embedding and run-time scripting. It is dynamically typed, free and open-source under the MIT License, with its source published on GitHub and a stable release series (latest preferred stable release 3.2).

## Key Facts
- Squirrel is a scripting language and an instance of a procedural and class-based programming language, described as a programming language for run-time events.
- Inception: first alpha version dated 2003-09-06.
- License: MIT License (free and open-source).
- Typing discipline: dynamic typing.
- Stable preferred version: 3.2 (stable, released 2022-02-10).
- Earlier notable versions: 0.1 (alpha, 2003-09-06), 3.0.4 (2012-11-10), 3.1 (2016-03-27).
- Official website: http://squirrel-lang.org/ (English).
- Source code repository: https://github.com/albertodemichelis/squirrel (GitHub topic: squirrel-lang).
- Influenced by: Lua and Python (among others).
- Documentation presence: Valve Developer Community hosts a Squirrel article (developer.valvesoftware.com/wiki/Squirrel).

## FAQs
### Q: What is Squirrel primarily used for?
A: Squirrel is designed as a lightweight scripting language for embedding and handling run-time events. It is commonly positioned for integration where an embeddable, dynamic scripting language is needed.

### Q: Is Squirrel statically or dynamically typed?
A: Squirrel uses dynamic typing.

### Q: Under what license is Squirrel released?
A: Squirrel is released under the MIT License.

### Q: Where can I find Squirrel's source code?
A: The official source repository is hosted on GitHub at https://github.com/albertodemichelis/squirrel.

### Q: What are the most recent stable releases?
A: The preferred stable release is 3.2 (released 2022-02-10); previous releases include 3.1 (2016-03-27) and 3.0.4 (2012-11-10).

## Why It Matters
Squirrel fills the niche of a compact, embeddable scripting language that combines class-based and procedural paradigms with dynamic typing. Its design emphasizes lightweight footprint and runtime flexibility, making it suitable for applications that require runtime scripting with object-oriented features without the overhead of heavier languages. Being free and open-source under the MIT License and maintained on GitHub makes Squirrel accessible for developers who need a permissively licensed scripting engine. Its influences from Lua and Python indicate a design lineage focused on simplicity, readability, and embeddability. Documentation and references in developer communities (for example, a Valve Developer Community article) indicate that Squirrel is recognized in technical ecosystems where embeddable scripting is relevant. The stable 3.2 release and an established history since 2003 show continued maintenance and versioning suitable for production embedding.

## Notable For
- Small, lightweight embeddable scripting language with a low footprint and focus on runtime scripting.
- Combines class-based programming with procedural and imperative paradigms while remaining dynamically typed.
- Distributed under the permissive MIT License and maintained openly on GitHub.
- A history of stable releases with 3.2 marked as the preferred stable version (released 2022-02-10).
- Influenced by Lua and Python, reflecting design choices for embeddability and scripting ergonomics.

## Body

### Overview
- Squirrel is a programming language categorized as a scripting language, class-based programming language, procedural programming language, and an implementation of a programming language.
- It is intended for run-time events and embedding into host applications.

### Design and Paradigms
- Programming paradigms: class-based programming, procedural programming, imperative programming, and object-oriented programming.
- Typing discipline: dynamic typing.
- Influences: includes design influences from Lua and Python.

### Versions and History
- First alpha: version 0.1 (alpha), dated 2003-09-06.
- Notable intermediate releases: 3.0.4 (2012-11-10) and 3.1 (2016-03-27).
- Preferred stable release: 3.2 (stable), dated 2022-02-10.
- Version metadata and changelog are maintained in the project's HISTORY and releases on GitHub.

### Licensing and Source
- License: MIT License.
- Source code repository: https://github.com/albertodemichelis/squirrel (GitHub topic: squirrel-lang).
- The project is classified as free and open-source software.

### Distribution and References
- Official website: http://squirrel-lang.org/ (English).
- Packaging and ports: available in distributions/packages such as openSUSE (package name: squirrel) and MacPorts (port: squirrel).
- Community and support tags: Stack Overflow has a Squirrel tag; project listings exist on SourceForge.

### Documentation and Community Resources
- Wikipedia entry titled "Squirrel (programming language)" exists across multiple languages (ca, de, en, es, fr, ja, ko, pt, ru).
- Valve Developer Community contains an article titled "Squirrel" documenting aspects of the language for developers.

### Identifiers and Metadata
- Freebase ID: /m/084pb2.
- Semantic Scholar topic ID: 112367.
- Wikipedia title: Squirrel (programming language).
- Copyright status: copyrighted.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Squirrel",
  "description": "Squirrel is a small, class-based scripting and procedural programming language designed for embedding and run-time scripting.",
  "url": "http://squirrel-lang.org/",
  "sameAs": [
    "https://github.com/albertodemichelis/squirrel",
    "https://en.wikipedia.org/wiki/Squirrel_(programming_language)"
  ],
  "additionalType": "Scripting language"
}

## References

1. [Source](https://github.com/albertodemichelis/squirrel/blob/master/HISTORY)
2. [Source](https://github.com/albertodemichelis/squirrel/releases/tag/v3.1)
3. [squirrel/HISTORY at master - albertodemichelis/squirrel - GitHub](https://github.com/albertodemichelis/squirrel/blob/master/HISTORY)
4. [Release v3.2 - albertodemichelis/squirrel - GitHub](https://github.com/albertodemichelis/squirrel/releases/tag/v3.2)
5. Freebase Data Dumps. 2013
6. [Squirrel - Valve Developer Community](https://developer.valvesoftware.com/wiki/Squirrel)