floitsch
LLMs have not been trained on Toit code as much as they have on Python or JS. No question about that. Without the Toit skills (https://github.com/toitlang/ai-instructions) LLMs used to be really bad. (They might be better now, but I never bothered to remove the skill files). From that point of view, Toit isn't a good choice.
On the other hand, Toit provides containers and a fast refresh-cycle. Both are godsends for AI agents: the containers make it so that the agent doesn't accidentally bring down the whole system when there is a bug, and the refresh cycle makes iterating on programs much faster. (Something I find agents to be really good at).
Fwiw, there isn't any clever metaprogramming in Toit.
- Faster than Python. Depending on the benchmark up to x10.
- Can be compiled to executables. Currently `-o` just takes an interpreter and attaches the bytecodes, but Kasper also started experimenting with native output.
- Cleaner base. Objects aren't just hashtables. This can be seen as a downside as well (making the language less flexible), but in my book it's a win.
- The `--named=value` syntax is just a winner :)
Toit doesn't have a lot of users, but it is used in production (for example by Consibio) and is definitely developed for production environments.
If you have a bigger machine you can optimize some of this (V8), but these optimizations typically need memory and/or a JIT. (And Python struggles to optimize even on stronger machines).
By starting from scratch (with what we learned from V8 and Dart) you can design something that feels similar but is much cleaner and faster to run.
"toit like a tiger"
Eight-year study links more childhood screen time to better cognitive processing
Day-ahead electricity prices hit –€500/MWh in France and Germany
V8 is a huge project and ports almost have to start from backends of existing architectures. Over time we (I recently worked on the RISC-V port) improve the situation.
Note that it's also crucial to stay somehow similar to the x86 and ARM backends as the V8 team frequently makes changes to these and keeping up with them would be a nightmare if the RISC-V backend was too different.
"Does no one at Google know RISC-V" This work wasn't done by Google. Also, you don't hire RISC-V experts, but V8 experts (or other similar VMs) for such a port. I, for example, had never worked with RISC-V before. As such, it can happen that some code of the RISC-V backend is written by engineers that aren't yet experts in RISC-V.
A glimpse into V8 development for RISC-V
When I published Grisu (Google double-conversion), it was multiple times faster than the existing algorithms. I knew that there was still room for improvement, but I was at most expecting a factor 2 or so. Six times faster is really impressive.
A glimpse into V8 development for RISC-V
Make the most of compiled C loops on the 68000
Regarding the Monetization of Project Maintenance
Its maintainer now requests $1000 for approval of PRs.
Here is an example where they reject a small PR to add loongarch64 support from individual contributor: https://github.com/shibatch/sleef/pull/672
We found that Python isn't really designed for constrained environments. The object model, in particular, makes it hard to have fast method calls. The memory layout is also affected by the language, leading to bigger objects and a worse GC.
If you are just running a small hello world, or a number crunching loop, then both languages behave similarly. However, if you actually want to run something more consequential in production you will have an easier time with Toit.
Currently it's only targeting the ESP32 family, but the code is pretty portable. By default, it probably also needs more resources due to OS-like abstractions, allowing for multiple containers to run on parallel, etc. Obviously that also brings some nice advantages. For example, installing or updating, a new container is just a few lines of code.
We have been working on it for more than 5 years now, and it's definitely at a stage where lots of projects would benefit from it.
I have been living in Denmark for 15 years now, and it's still easier to do conversations in English. When I speak Danish it requires more mental capacity from the other side.
I am speaking Danish from time to time, but it's only to get better at it. The English proficiency in Denmark (and probably the Netherlands) is so high that you need to be really good at the native tongue before it is easier than English in conversations.
Show HN: A GitHub action to publish Discord help forums
https://github.com/toitlang/action-discord-transcript
As maintainers of our open-source project, we provide support on multiple different channels: Stack Overflow, GitHub discussions, and Discord.The problem: Most activity happens on Discord, where questions aren't indexable/searchable.To fix this, we build a small GitHub action that generates transcripts of our help forum. We run this action every hour and then publish the result via GitHub...
Show HN: GitHub action to publish Discord help forums
https://github.com/toitlang/action-discord-transcript
Like many other projects we provide support through Discord. However, questions asked in Discord aren't indexable or searchable.To fix this I wrote a small GitHub action that generates transcripts for our help forum. We run that action every hour and then publish the result using GitHub pages.The heavy lifting of the action is done by https://github.com/ItzDerock/discord-html-transcripts, a...
EU Court fines EU for breaching own data protection law
ESA to support the development of EU's secure communication satellites system
Timezones are fun...