Hacker News new | ask | show | jobs
by Artlav 3677 days ago
Fun fact - "microscheme" means "integrated circuit" in Russian. Oddly fitting.

So far i don't like the fact it can't handle interrupts (unless by C code), and that it seem to ignore the C++ FFI completely.

That, and the fact that a garbage-collected language is to be run on a microcontroller - a device that is mostly used for realtime tasks. It won't be good for a quadcopter to go into a garbage collect subroutine during the control loop calculations.

Not a problem if you are aware of the issue, but how many people are?

1 comments

Microscheme is not garbage collected, at least according to the documentation.
There's a form of faux-garbage-collection: you can wrap any form in `free!` and the heap pointer will be reset when that form finishes: http://microscheme.org/documentation#memman

This would be awful for general-purpose programming, but on a device with only 2.5kb of RAM to begin with you can usually pre-allocate anything that needs to survive that reset. I use this in my keyboard firmware's outer loop: http://atreus.technomancy.us/firmware2