logoalt Hacker News

Toit v2.0.0

195 points • by floitsch • last Sunday at 12:25 AM • 64 comments • view on HN

Comments

draven • today at 8:12 AM

The wikipedia page https://en.wikipedia.org/wiki/Toit is short but still gives a lot of context.

➕ show 2 replies
maxloh • today at 7:58 AM

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.
➕ show 1 reply
thomascountz • today at 7:49 AM

   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.
➕ show 1 reply
spankalee • today at 3:54 PM

I rather like WebAssembly for this use-case. You don't necessarily need a new language, you need a Wasm runtime targeted at embedded devices, like WAMR [1], which even has a AOT compiled mode.

[1]: https://github.com/wasm-micro-runtime/wasm-micro-runtime

jacobgorm • today at 7:53 AM

The people behind Toit are the original people behind the V8 VM in Chrome. They know their stuff.

➕ show 3 replies
heavensteeth • today at 10:17 AM

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.
➕ show 2 replies
atVelocet • today at 2:52 PM

How did you came up with this strange syntax? Why not use a Python like one which is already known?

How about performance compared to compiled MicroPython (viper)?

➕ show 1 reply
dofm • today at 12:54 PM

Even I (as a sort of grudging cynic) now find myself thinking in these terms:

Is this a language that an LLM can write well?

Especially a small LLM, given the scripting and friendly IoT focus, where it might be useful for a smaller model in a home assistant to be able to write in it.

A packageable scripting language with fewer footguns that has LLM-friendly features feels like it probably has a place in the world.

But my own experience so far suggests that smaller LLMs in particular do better with simpler languages with obvious flow of control and less cleverness like metaprogramming.

➕ show 1 reply
AbuAssar • today at 1:15 PM

I wish any product new release announcement include a brief introduction about the product itself...

close2 • today at 11:56 AM

I have used toit in a lot of my projects. It is a really nice language and so much cleaner than all the alternatives I have tried (Arduino, Python, Lua).

The tools just work and I got used to the language really quickly.

I did hate that it was bytecode. It just felt wrong to run bytecode on an ESP32. OTOH it just works, and I have never noticed any performance problems.

My latest project is a controller for a slave-clock: https://gitlab.com/close2/nebenuhr-toit (There is also a Garmin repository that allows me to control the clock using my Garmin watch.)

Full disclosure: I had to use toit (floitsch is my brother), but it really is a nice language and development environment.

[Edit: typos..]

➕ show 2 replies
benrutter • today at 8:55 AM

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?

➕ show 1 reply
vim-guru • today at 9:01 AM

Looks quite nice

mi_lk • today at 8:15 AM

Who is using this? The company originally behind it has shut down

➕ show 1 reply
mcphage • today at 12:51 PM

Oh, good—I've been looking for a Round one for years.

Hamuko • today at 9:07 AM

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.

➕ show 2 replies
_s_a_m_ • today at 10:37 AM

The last thing this planet needs a new programming language