Add BLAKE2S crypto hash support.
Start BLE services in one go.
Improve BLE resource management.
Add 'close' to the BLE adapter.
Fix RMT on esp32s3 (and other variants).
github.com/toitlang/toit/rel…
Add 'toit pkg' and 'toit snapshot' commands.
Don't use tasks to wait for services to appear.
Handle 'werror' when doing 'toit.compile --analyze'.
Stream JSON and YAML output onto a Writer.
Change close-X to mark-closed on io.Reader and io.Writer.
github.com/toitlang/toit/rel…
Introduce new io library.
Optimize getting size of builtin collections.
Avoid spinning up too many native threads on host platforms.
Avoid lock contention on scavenge on host platforms.
Start to bring back the toit executable.
Roll esp-idf to latest v5.0.
github.com/toitlang/toit/rel…
Compare the simple and wrong syntax with the correct but verbose syntax:
a = [[]] * 4
b = [ [] for _ in range(4) ]
In Toit you pass a block (small fn introduced with a colon) to the List constructor.
c := List 4: []
Took an immense amount of self discipline and focus, so yesterday ends(at 1am today) with an esp32 running a @toitlang container with capacitive moisture sensor sending moisture levels every 3 seconds to a local mqtt broker on a raspberry Pi which I can look at through my phone.
New version of @toitlang's pixel_display library is getting sliders. We have PNG support, but no PNGs were used here, just gradients like the ones we know from the web.
Looks like I'm getting weak maps, but not with the JavaScript semantics.
In JavaScript WeakMap the key keeps the value alive, but when the key is collected by the GC, the key-value pair are removed from the map, and the value may become GC-able.
I decided I needed a weakly retaining hash map for my latest #toitlang project. It can be used to cache values that can be recalculated. The values can be nulled out during GC if the objects are not reachable in other ways and there is memory pressure.
github.com/toitlang/toit/pul…
In the Toit weak map proposal the lifetime of the key is not relevant, so it can be a string or an int, but the value can be automatically removed from the map if it is not otherwise reachable and we need the memory.