Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Savi on bare metal (uC) #461

Open
mneumann opened this issue Apr 30, 2023 · 0 comments
Open

Savi on bare metal (uC) #461

mneumann opened this issue Apr 30, 2023 · 0 comments

Comments

@mneumann
Copy link
Contributor

Just came across PicoRuby, which runs a Ruby interpreter (and compiler) on Rasperry Pi Pico (RP2040). Pretty awesome!

In my opinion, Savi binaries can also be made to run on RP2040, with the following changes:

  • simpler runtime: Most micro-controllers are single-core (RP2040 is dual...), so actors would be scheduled one after the other. no need for concurrency at all.
  • GC: Probably the whole tracking and GC-related messages would not be needed. With single-core in mind, global heap and stop-the-world GC can be used. Alternatively, reference counting for more deterministic memory de-allocation (unsure if this would be easy to integrate).
  • cross compiling: thanks to clang that should not be a big issue.

Independent thereof, it would be fun to have a truly minimal runtime that lacks high-performance but it's code would instead fit on 4 printed pages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant