Closed mokshasoft closed 4 years ago
I haven't been maintaining the Chicken CG, and, to be honest, probably won't again - there's enough to maintain as it is - so I might just remove the code. However, executables are put in build/exec
now, so it might be there. Other things may have changed since I disabled it too, though.
This issue was not really about the Chicken backend, it was merely the context where I encountered an unexpected behavior. Adding a dummy variable to compileExpr, that isn't used, changed the runtime behavior of the generated idris2 binary. It may be me not understanding something correctly, or an error in Idris1, or only an error in the Chicken backend. I don't know. The reason that I was looking into the Chicken backend was because it was the only backend that supported transcompilation to C as far as I could see, which I think would be the easiest way to port the FreeRTOS Idris1 port to Idris2.
@mokshasoft When #317 is merged, you could maybe use that instead to compile to C.
Thanks! That looks promising.
I've merged the gambit back end now. I think it has the same advantages as chicken (native code, fast startup of the interpreter), but seems to be a better fit with the kind of code that Idris 2 is throwing at it, so I'll remove chicken.
The error itself is a bit strange, and might indicate a problem somewhere in Idris 1, but I should probably prioritise other things given that Chicken isn't used (and, strangely, it doesn't happen with other back ends that behave this way)
Closing, since Chicken backend is removed.
https://github.com/mokshasoft/Idris2/tree/bug is a minimal change to Idris2 that produce this bug.
Steps to Reproduce
Expected Behavior
Compiling hello world should produce a binary.
Observed Behavior