Toit v2.0.0
82 points by floitsch 3 days ago | 25 comments

heavensteeth 15 minutes ago
This seems very interesting. It almost looks/feels like Pythonic Go.

There's already another syntax example in the thread, but I want to point out the weirdest syntax I've seen yet: positional arguments look like posix command arguments:

   greet name/string="World" --greeting/string="Hello" -> string:
     return "$greeting $name"

   main:
     print (greet)                         // Prints Hello World.
     print (greet "Ada" --greeting="Hi")    // Prints Hi Ada.
reply
kasperl 54 seconds ago
Arguments like --greeting are the named arguments:

https://docs.toit.io/language/beginner/lists-and-functions/#...

The name argument is positional here.

reply
draven 3 hours ago
The wikipedia page https://en.wikipedia.org/wiki/Toit is short but still gives a lot of context.
reply
ilvez 3 hours ago
Just a joking side note: switch n to t in the URL and you get article for food in Estonian: https://et.wikipedia.org/wiki/Toit
reply
no_time 2 hours ago
>In February 2019, the company raised DKK 23 million (approximately US$3.5 million) in seed funding from Swedish venture capital firm Creandum.[4] Early versions required cloud registration to deploy code to devices.[5]

DNS blackhole the domain and run.

reply
unsnap_biceps 2 hours ago
> The commercial cloud offering was later discontinued. Development of fleet-management tooling continued through an open-source project called Artemis, built on Supabase and PostgreSQL, which users self-host.[8]

> According to Denmark's Central Business Register, Toitware ApS ceased operating in 2024.[9] Development of the language continues as a community project on GitHub.

Seems unlikely to be a bait and switch at this point

reply
no_time 2 hours ago
whoops, black and white thinking burns me once more.
reply
thomascountz 3 hours ago

   Toit is a language for writing scripts on your computer and applications on your ESP32. A readable syntax, an efficient runtime, and tools that work together.

   Free and open source. Maintained by volunteers.
reply
skrebbel 3 hours ago
Even after reading that (and more of the homepage) I have no idea what this is.
reply
self 54 minutes ago
Think of it as a runtime + scheduler that you deploy programs to ESP32 devices. It gives you the ability to run multiple programs simultaneously (with isolation) and remote updates. The language compiles to bytecode; the developers have lots of experience writing VMs for constrained devices; see https://www.theregister.com/software/2004/07/27/forgotten-la... for something that predates V8 and Dart.
reply
jacobgorm 3 hours ago
The people behind Toit are the original people behind the V8 VM in Chrome. They know their stuff.
reply
vanderZwan 3 hours ago
Those were it's creators, are they still involved after the company folded?

Because if not, that might explain the lack of marketing around it.

reply
floitsch 3 hours ago
Kasper and I are still working on it.
reply
Imustaskforhelp 3 hours ago
Also co-founding Dart. They definitely know their stuff.
reply
jimbob45 2 hours ago
Dart should have enjoyed the popularity that TypeScript received. Tough to compete with Hejlsberg though.
reply
latexr 17 minutes ago
I may be misremembering, but my recollection is that Dart was written off in large part because of Google. Distrust with them was already high as they were abusing their dominance with things like AMP, and people felt it was a bad idea to give them even more control over the web.
reply
MrBuddyCasino 3 hours ago
They should write this prominently on their website. It doesn’t radiate trustworthiness/substance/reputation. Also performance and resource requirements should be prominent when targets are MCUs.
reply
maxloh 3 hours ago
Here's a beginner tutorial for the language: https://docs.toit.io/language/toitversus

Nice syntax. It looks like how we'd design programming if C had never existed.

  add a/int b/int -> int:
    return a + b
  
  main:
    print (add 2 3)  // Prints 5.
reply
benrutter 2 hours ago
Looks interesting! I can't tell really from the docs the untended use case though. It says "scripts", but also " applications".

Most importantly though (/s), is this toit as in "roof" in French, toit as in "to it", or otherwise?

reply
floitsch 2 hours ago
It's from Austin Powers.

"toit like a tiger"

https://youtu.be/gu31VyXlTzo

reply
benrutter 14 minutes ago
Ahaha! I'd been thinking it was pronounced as in French (a bit like "twah") when I should be saying it in Mike Myer's super authentic Dutch accent!
reply
vim-guru 2 hours ago
Looks quite nice
reply
mi_lk 3 hours ago
Who is using this? The company originally behind it has shut down
reply
Hamuko 2 hours ago
Is there some kind of an advertising blurb for why you’d want to use Toit, especially for scripting? I think the only thing I saw was “a readable language”, but I’d probably consider Python more readable than it judging from the examples.
reply
ricardobeat 34 minutes ago
Good luck running (micro)python on an ESP32.
reply