# TinyScheme

> software

**Wikidata**: [Q764898](https://www.wikidata.org/wiki/Q764898)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/TinyScheme)  
**Source**: https://4ort.xyz/entity/tinyscheme

## Summary
TinyScheme is a free software implementation of the Scheme programming language, designed as a lightweight interpreter primarily for embedded scripting use. It has been continuously developed since 1998 and is notable for its small size and compatibility with R5RS standards.

## Key Facts
- **Inception Year**: 1998
- **License**: BSD licenses
- **Current Stable Version**: 1.42 (released May 30, 2020)
- **Operating System**: Cross-platform
- **Dialect**: Implements R5RS Scheme standard (dialect_of_computer_language: Q187560)
- **Website**: https://tinyscheme.sourceforge.net/ (English language)
- **Packaging Available in**: Debian (package: `tinyscheme`), Gentoo (package: `dev-scheme/tinyscheme`)
- **Instance Of**: Free software, Programming language, Interpreter
- **Copyright Status**: Copyrighted

## FAQs
### Q: What is TinyScheme used for?
A: TinyScheme is primarily used as an embedded scripting language within larger applications, providing lightweight Scheme execution capabilities. It is specifically designed for situations where a small, efficient interpreter is needed.

### Q: What license governs TinyScheme?
A: TinyScheme is distributed under BSD licenses, a permissive free software license allowing for flexible use and modification.

### Q: Is TinyScheme compatible with other Scheme implementations?
A: TinyScheme is designed to be compatible with the R5RS (Revised5 Report on the Algorithmic Language Scheme) standard, ensuring it can run code written for compliant dialects.

## Why It Matters
TinyScheme holds significance in the software development landscape as one of the most lightweight and portable Scheme interpreters available. Its minimal resource requirements make it ideal for embedding into applications as a scripting engine, particularly where Java or Python interpreters would be too large or complex. Its longevity since 1998 demonstrates sustained utility in the domain of embedded scripting. Notably, it serves as the core scripting engine for GIMP's Script-Fu feature, directly impacting millions of graphics editing workflows. Its adherence to the R5RS standard provides a solid foundation for Scheme code reusability, while its BSD licensing encourages adoption in diverse software environments. The project's continuous development, culminating in the stable 1.42 release in 2020, ensures ongoing relevance for legacy and modern embedded scripting needs.

## Notable For
- **Extreme Minimalism**: Engineered for small footprint, suitable for embedded environments with limited resources.
- **Default Scripting Engine for GIMP**: Powers GIMP's Script-Fu extension for automating graphics tasks.
- **R5RS Compliance**: Faithfully implements the widely recognized R5RS Scheme standard.
- **Longevity**: Continuous active development since 1998, demonstrating sustained industry relevance.
- **Cross-Platform Availability**: Compiled and runs natively across major operating systems (Windows, Linux, macOS, etc.).

## Body

### Overview
TinyScheme is a free software implementation of the Scheme programming language, serving primarily as an embedded scripting interpreter. It functions as a standalone Scheme interpreter but is optimized for integration into larger applications requiring a lightweight, programmable scripting layer. Classified as both a programming language and an interpreter, it targets scenarios where a compact interpreter is essential.

### Licensing
TinyScheme is distributed under the BSD licenses. This permissive free software license allows for significant flexibility in use, modification, and redistribution, making it suitable for integration into both open-source and proprietary software projects.

### Versions
- **1.40**: Released January 18, 2011.
- **1.41**: Released April 14, 2013.
- **1.42**: Current stable version, released May 30, 2020. Marked as "stable version" (qualifier P548). This version is the latest and recommended for deployment.

### Development History
- **Founded**: Inception traced back to 1998 (source: `http://tinyscheme.sourceforge.net/CHANGES`).
- **Development Platform**: Developed as cross-platform software.
- **Source**: Hosted on SourceForge.net (`https://sourceforge.net/projects/tinyscheme/`).
- **Project Identifier**: Repology project name is `tinyscheme`.

### Usage & Distribution
- **Primary Application**: Functions as an embedded scripting interpreter, most notably within GIMP as the engine for Script-Fu (evidenced by the `Script-Fu.png` image reference).
- **Packaging**:
  - Debian Stable: Available as the package `tinyscheme`.
  - Gentoo: Available as the package `dev-scheme/tinyscheme`.
- **Representation**: Recognized in Wikipedia articles across languages including English (`en`), German (`de`), French (`fr`), and Chinese (`zh`).

## References

1. [Source](https://sourceforge.net/projects/tinyscheme/files/tinyscheme/tinyscheme-1.40/)
2. [Source](https://sourceforge.net/projects/tinyscheme/files/tinyscheme/tinyscheme-1.41/)
3. [TinyScheme - Browse /tinyscheme/tinyscheme-1.42 at SourceForge.net](https://sourceforge.net/projects/tinyscheme/files/tinyscheme/tinyscheme-1.42/)
4. [Source](http://tinyscheme.sourceforge.net/CHANGES)