Yeah it's good to call that out. If the author used the term embedded systems there'd be less room for disagreement, as there is a pretty wide spectrum there -- obviously a RasPi that can run Linux is more than enough as far as hardware goes. I also don't think you'll find any CL implementation running out of the box on a $5 ESP32 like you can do with uLisp, but if you hooked up external memory perhaps you could get something going. A fullblown Common Lisp can (with work/money) be made to run in environments probably a lot smaller than most people think... The famous Remote Agent on the DS1 spacecraft was a 4 MB executable and peaked at "32 Mbytes", 20 avg, of memory. (Skimming the linked article, I do see it mentioned that using LispWorks let them run on ARM32 with "128 Mb of RAM". (Presumably that is megabytes.) IIRC that's beyond what you can add to an ESP32. I wonder if they could have gotten away with ECL though, as it has optional and runtime configurable memory limits with a default heap limit of 256 MB.)
Comments
Yeah it's good to call that out. If the author used the term embedded systems there'd be less room for disagreement, as there is a pretty wide spectrum there -- obviously a RasPi that can run Linux is more than enough as far as hardware goes. I also don't think you'll find any CL implementation running out of the box on a $5 ESP32 like you can do with uLisp, but if you hooked up external memory perhaps you could get something going. A fullblown Common Lisp can (with work/money) be made to run in environments probably a lot smaller than most people think... The famous Remote Agent on the DS1 spacecraft was a 4 MB executable and peaked at "32 Mbytes", 20 avg, of memory. (Skimming the linked article, I do see it mentioned that using LispWorks let them run on ARM32 with "128 Mb of RAM". (Presumably that is megabytes.) IIRC that's beyond what you can add to an ESP32. I wonder if they could have gotten away with ECL though, as it has optional and runtime configurable memory limits with a default heap limit of 256 MB.)
Though as the sibling mentioned there are other approaches. Here's a fun article on using CL to write an NES 6502 assembler https://ahefner.livejournal.com/20528.html and demo application: https://www.youtube.com/watch?v=T8qEOG2KUQU