Draft:Toit
| Submission declined on 20 December 2025 by Vestrian24Bio (talk). This submission is not adequately supported by reliable sources. Reliable sources are required so that information can be verified. If you need help with referencing, please see Referencing for beginners and Citing sources. This submission's references do not show that the subject qualifies for a Wikipedia article—that is, they do not show significant coverage (not just passing mentions) about the subject in published, reliable, secondary sources that are independent of the subject (see the guidelines on the notability of web content). Before any resubmission, additional references meeting these criteria should be added (see technical help and learn about mistakes to avoid when addressing this issue). If no additional references exist, the subject is not suitable for Wikipedia.
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
| Submission declined on 17 December 2025 by EatingCarBatteries (talk). This draft's references do not show that the subject qualifies for a Wikipedia article. In summary, the draft needs multiple published sources that are: Declined by EatingCarBatteries 6 days ago.
|
Comment: This draft excessively uses primary sources, which typically can't be used to establish notability. EatingCarBatteries (contributions, talk) 08:24, 17 December 2025 (UTC)
| Toit | |
|---|---|
| Paradigm | Multi-paradigm |
| Developers | Lars Bak, Erik Corry, Anders Johnsen, Florian Loitsch, Kasper Lund |
| First appeared | 2018[1] |
| Stable release | v2.0.0-alpha.189[2]
/ October 28, 2025 |
| Typing discipline | Optional. (Added types are checked and used for optimizations.) |
| Memory management | Garbage collected |
| Platform | x86-64, Esp32 |
| OS | Posix, Windows, FreeRTOS |
| License | LGPL |
| Filename extensions | .toit |
| Website | https://www.toitlang.org/ |
| Influenced by | |
| Java, Dart, Smalltalk, Python, Shell | |
Toit
[edit]Toit[3] is an open-source[4], free[5], high-level, object-oriented programming language designed initially for ESP32 microcontrollers and Internet of Things (IoT) devices.[6]
Design and Goals
[edit]The language was created to address limitations in existing high-level languages[7] (e.g., Python, JavaScript) when used on resource-constrained embedded hardware. According to its creators, Toit code executes over 30 times faster[8] on the Espressif ESP32 microcontroller, than MicroPython while still offering high-level abstractions and a memory-safe runtime.
Toit aims to provide a modern, Python-like developer experience[9] while making it practical to run code on microcontrollers. It's developers intended to combine convenience, performance, and safety.
History
[edit]Founding
[edit]Toitware was founded in 2017 as "Toitware ApS", with the purpose of building a new programming language focused on IoT development[10]. In 2019, the company secured DKK 23M ($3.5M) in seed capital, provided by Swedish venture capital company Creandum.[11] Initial versions were strongly cloud oriented, and required cloud registration to get started.[12]
Open Sourcing
[edit]In November 2021, Toitware ApS announced it would open source Toit to foster a larger community and accelerate its development.[13][14]The open-sourcing of Toit coincided with the first alpha release of v2.
The cloud offering from Toitware ApS was ultimately discontinued, and development focus shifted toward a Supabase-based PostgreSQL fleet-management solution called "Artemis". Users run their own instances on the platform, with Artemis' code also being open-sourced.[15]
In 2024, Toitware ApS ceased operating.[16] As of 2025 the project source is being maintained by two of the original Toitware ApS employees, continuing to drive community and development.
Naming
[edit]Toit was named after the catchphrase of the character ‘Johann van der Smut’ in the movie Goldmember. In a comedic Dutch accent, the character repeatedly uses the expression "Toit like a tiger". This can be seen in the Toit logo, which was stylised after the feline nose.
Key Features
[edit]The Toit language has the following characteristics:
- High-level, object-oriented, memory-safe: Toit supports classes, methods and garbage-collected memory management.[17]
- Declarative, and partially statically analyzable: Programs can be analyzed to catch errors prior to being run. If types (optional) are used, static analysis quality improves.
- Low noise indentation-based syntax: Similar to Python, Toit uses indentation for grouping. Common operations therefore use minimal symbols: characters are not required to indicate the end of statements (common to some languages, eg, the use of semicolons in Java). Symbols, such as parentheses, are not used for calls or if blocks (common to many languages, such as C++ and Rust).
- Standard libraries, support for control flow, collections, exceptions, etc.: Toit includes support for strings, lists, maps, classes, exception handling, and other standard programming language features.
- Support for microcontroller I/O and embedded peripherals: In the context of IoT/embedded usage, Toit provides access to GPIO, I2C, SPI and other hardware interfaces.[18][19]
- Live reloading and rapid development workflow: Toit includes capabilities for deploying and iterating code on devices in-situ.[20][21]
Syntax and Examples
[edit]Hello World
[edit]A minimal ‘Hello World’ program in Toit:
main:
print "Hello, World!"
Functions, Methods & Parameters
[edit]Functions are declared by writing the name, followed by its parameters and a colon:
print-hello name: // A function 'print-hello' with parameter 'name'.
print "hello $name" // Prints 'hello ' followed by the supplied name.
Calls use juxtaposition, like the shell, Caml or Smalltalk. Parameters follow the function name without parentheses or commas.
main: // Definition of the 'main' function.
print-hello "Austin" // Calls ‘print-hello’ with one argument.
Classes
[edit]Toit has classes, interfaces and mixins. Classes are declared with class. Constructors, fields, and methods are supported, as are inheritance, etc.
class Foo:
some-method:
print "in some-method"
class Bar extends Foo:
constructor:
print "in constructor"
bar-method with params:
print "in bar-method"
Implementation and Runtime
[edit]Toit programs are compiled to bytecode and executed by a purpose built, lightweight Virtual Machine (VM). The same VM is used when working on microcontrollers and on the desktop. On the desktop, Toit can also bundle the VM and the bytecode together, resulting in a self-contained executable.[22]
Containers
[edit]On the ESP32, the Toit VM handles multiple programs at the same time. These are referred to as "containers"[23] and run independently from each other. They don't share any memory and run in parallel. Containers can communicate with each other by using a built-in RPC mechanism.
Concurrency
[edit]Inside a container, programs do not run in parallel. Instead, Toit provides "tasks" - cooperative threads. Tasks can only be interrupted at specific locations: at yield statements, or in places where the task waits for the system or the hardware.
Ecosystem and Tooling
[edit]There are two ways to use Toit:
- For desktop systems: Toit installations use an executable called
toitwhich can compile and run code, manage packages, etc. - For embedded systems: A tool named 'Jaguar' (
jag) enables developers to deploy, update, and manage Toit applications on embedded hardware.
Both tools are hosted and available publicly on GitHub[24] and form part of the completed system download/install.
Position in embedded / IoT space
[edit]Toit is part of a broader trend of languages and runtimes designed to make embedded development safer, more productive, and more accessible without sacrificing too much in terms of performance. As noted by one commentator: compared to writing in C/C++ (the traditional choice for embedded systems[25]) languages like Toit are intended to reduce complexity and improve development velocity, while still being efficient enough for many IoT use-cases.[9][18]
At the same time, using a high-level managed runtime on resource-constrained hardware is a trade-off: while high level languages (such as Toit, and others) offer convenience and safety, performance comparisons may vary compared to highly optimized C/C++ code.
As of 2025, support is focused on ESP32-class microcontrollers.
References
[edit]- ^ Flaherty, Nick (Nov 26, 2021). "Toit opens up its IoT programming language". www.eenewseurope.com.
- ^ "Release v2.0.0-alpha.189". Oct 28, 2025 – via GitHub.
- ^ "Toit documentation". docs.toit.io.
- ^ "toitlang/toit". Dec 16, 2025 – via GitHub.
- ^ "Open-source and free - Toit". toit.io.
- ^ Higginbotham, Stacey (Aug 24, 2021). "Toit wants to be a platform for constrained networked devices". staceyoniot.com.
- ^ Jagdale, Saumitra (Aug 20, 2021). "Resolving the Complexities in IoT Development with the Support of APIs and High-Level Languages". www.eetimes.com.
- ^ Aufranc (CNXSoft), Jean-Luc (Nov 28, 2021). "Toit open-source language claims to be 30x faster than MicroPython on ESP32 - CNX Software". cnx-software.com.
- ^ a b Peck, Mariano Martinez (Sep 23, 2021). "Bridging the Gap with Toit — A Rich Dev Experience for Microcontrollers". instantiations.com.
- ^ Andersen, Tania (Jul 3, 2018). "Aarhus experts from Chrome's Javascript engine create IoT language and virtual machine". www.version2.dk (in Danish).
- ^ "Toitware secured seed capital in an investment round including Creandum". nordic9.com. Feb 25, 2019.
- ^ "Product of the Week: Toit Software Platform". embeddedcomputing.com. Sep 7, 2021.
- ^ Lund, Kasper (Nov 22, 2021). "The Toit Language is now Open Source". medium.com.
- ^ Flaherty, Nick (Nov 26, 2021). "Toit opens up its IoT programming language". www.eenewseurope.com.
- ^ "toitware/artemis". Dec 16, 2025 – via GitHub.
- ^ "CVR 38984594 on Denmark's Central Business Register". datacvr.virk.dk.
- ^ "First device driver in Toit". www.ekorau.com. May 28, 2021.
- ^ a b Lüdiger, Florian (Aug 29, 2022). "Toit will bring your IoT projects up to speed". codecentric AG.
- ^ Andersen, Morten. "Toit Tech Notes". tech-notes.accel.dk.
- ^ Sinha, Akshayan; Agarwal, Akarsh (Dec 17, 2022). "Toit. io | IoT Platform Series #2". Hackster.io.
- ^ Jagdale, Saumitra (Aug 6, 2021). "Microsoft Azure, IoT, Balena, Particle and Toit IoT Development platform comparision". cnx-software.com.
- ^ Lund, Kasper (Jul 14, 2021). "Why doesn't V8 fit on my microcontroller?".
- ^ Gunter (Dec 29, 2021). "Toit: Containers on Microcontrollers". medium.com.
- ^ "Toit language". GitHub.
- ^ King, Nicola (Sep 21, 2023). "Blog - Is Embedded C++ the Future of Embedded Systems Development?". Redline Group.
