Closed informatimago closed 10 months ago
Thank you for your comment. The Easy-ISLisp compiler relies on GCC extensions. It is mainly designed for use on Linux. I think Clang might have GCC-compatible options. The options for MacOS are specified in compiler.lsp. Modifying this part to be GCC-compatible might make it work. see library/compiler.lsp line235
I see. Thanks for the hint on compiler.lsp; I may have a look at it later.
I don't see exactly where in library/tcltk.lsp this comes from, and probably it's from FFI generator elsewhere. The point is that local functions don't exist in clang. Instead, we may use blocks. Blocks are like pointers, but using ^ instead of * for the function pointer. We may initialize those blocks with anonymous functions (kind of lambda). Also variables that are written from inside the block need to be declared with __block. So something like this should be generated for clang: