nimscripter icon indicating copy to clipboard operation
nimscripter copied to clipboard

Nimscripter for embedded systems

Open davidvfx07 opened this issue 1 year ago • 2 comments

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 screams Error: OS module not ported to your operating system!. I've stripped away the os 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 the os 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.

davidvfx07 avatar Jun 29 '24 07:06 davidvfx07

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.

beef331 avatar Jun 29 '24 07:06 beef331

Interesting, that makes sense. I'll update on an alternative if I find one.

davidvfx07 avatar Jun 30 '24 04:06 davidvfx07