3 ms·
That is cool, it looks like Python, how did they get it so small? Is it garbage collected? Is the interpreter entirely resident in the Arduino or does it rely
by throwaway81523 5y ago
That is cool, it looks like Python, how did they get it so small? Is it garbage collected? Is the interpreter entirely resident in the Arduino or does it rely on an external communication app hosting the compiler? That approach is actually underutilized in my opinion.
I gotta say that AVR Arduino hardware is almost silly by now. The Raspberry Pi Pico is probably the successor basic MCU board these days. It costs $4 retail, and has a dual ARM M0+ cpu with 264KB of ram and 2MB of SPI flash, so it can run Micropython and other relatively full featured software.
Also check out my old favorite Hedgehog Lisp: https://github.com/sbp/hedgehog https://github.com/sbp/hedgehog
It's a functional-style Lisp dialect whose VM is 20K bytes. It uses an external ahead-of-time compiler, no resident interpreter.
- rurban 5y agoGenerally AOT compiled code is 10x bigger than a compact and flexible bytecode interpreter. Also miles more unsafe. I.e micropython is based on Lua, as also microruby and potion, just with a proper OO and GC added.
- throwaway81523 5y agoThe AOT compiled code for Hedgehog is bytecode. I just mean that the bytecode compiler is on a PC host rather than inside the embedded mcu. Micropython is completely separate from Lua.
- rurban 5y agomicropython derived from lua, as well as potion, which started those microlang movement and which I am the current maintainer of, as well as microruby and p2. And a few others.