Back to Toon

Implementations

docs/ecosystem/implementations.md

4.1.15.1 KB
Original Source

Implementations

TOON has official and community implementations across multiple programming languages. All implementations are intended to conform to the same Specification to ensure compatibility and interoperability.

The code examples throughout this documentation site use the TypeScript implementation by default, but the format and concepts apply equally to all languages.

Official Implementations

LanguageRepositoryStatus
.NETtoon-dotnetIn Development
Darttoon-dartIn Development
Gotoon-goIn Development
Javatoon-java✅ Stable
JuliaToonFormat.jl✅ Stable
Pythontoon-python✅ Stable
Rusttoon-rust✅ Stable
Swifttoon-swift✅ Stable
TypeScript/JavaScripttoon✅ Stable

Community Implementations

Community members have created implementations in additional languages:

LanguageRepositoryMaintainer
ApexApexToon@Eacaw
CTOONc@UsboKirishima
C++ctoon@mohammadraziei
C#ToonEncoder@Cysharp
C#Corvus.JsonSchema@mwadams
Clojuretoon@vadelabs
Crystaltoon-crystal@mamantoha
Delphidelphi-toon@ernestoalconada
Elixirtoon_ex@kentaro
Gleamtoon_codec@axelbellec
Gogotoon@alpkeskin
Javajson-io@jdereg
Kotlinktoon@lukelast
Laravel Frameworklaravel-toon@mischasigtermans
Lua/Neovimtoon.nvim@thalesgelinger
Matlabctoon@mohammadraziei
OCamlocaml-toon@davesnx
PerlData::TOON@ytnobody
PHPtoon-php@HelgeSverre
PHP / TYPO3t3-toon@therohanparmar
Python (C++ backend)ctoon@mohammadraziei
Python (Rust backend)toons@alesanfra
Rtoon@laresbernardo
Rubytoon-ruby@andrepcg
Scalatoon4s@vim89
Zigtoon-zig@montanaflynn

Contributing an Implementation

Building a TOON implementation for a new language? Here are the steps:

  1. Follow the spec: Implement the latest specification.
  2. Add tests: Run the reference test suite – its language-agnostic fixtures validate compatibility across implementations.
  3. Document usage: Provide a clear README with installation and usage examples.
  4. Share it: Open a PR to add your implementation to the README at github.com/toon-format/toon.