Open davidvfx07 opened 4 months ago
Nim's VM relies on the compiler, so it requires some amount of OS calls to function. You would need to fork the nim compiler to handle that. Personally for embedded I'd suggest to look towards wasm for scripting.
Interesting, that makes sense. I'll update on an alternative if I find one.
I've been interested in creating a language that can be interpreted on embedded systems (esp32) for use in a larger project, which would provide an api to the user which calls precompiled procs etc. The goal would be to completely strip away nim's syntax, and replace it with simpler syntax with templates. macros, etc. I came across nimscripter which compiles great and works well on PC, but it won't compile for embedded with
--os:standalone
or--os:any
(necessary for embedded systems, which have no os), and it screamsError: OS module not ported to your operating system!.
I've stripped away theos
module calls in the source of nimscripter, but it seems to be called elsewhere too because the error doesn't subside. Additionally, I'm unsure on how to go about pure standard libs because I can't seem to figure out how to embed those either.Is there some way to stop the
os
module errors or strip out theos
module calls entirely, and include standard libs at compile time?Ultimately this may be impossible given the miniscule power of the esp32 to interpret nimscript on its own, and there may be other unforeseen reasons this won't work, but it would be a great tool for embedded programming and super helpful for the community.