Hi All, I had been exploring the miniPicoLisp source for several months now. My goal was to make it compile with Microsoft C compiler and Tiny C Compiler ( TCC <https://download.savannah.gnu.org/releases/tinycc/>) on windows - and gain a deeper understanding of the implementation in the process. In order to compile using Microsoft C compiler, it was sufficient to remove the use of VLA(variable length array). However, making it work with TCC was a different ballgame. It turns out that TCC does not generate functions at word boundaries - so pointer tagging does not work. The way I addressed it is by changing the CELL to contain 3 parts instead of 2 - the third part for type and GC.
I just got "done" with it - https://github.com/lispware/minilisp . It has limited string/symbol support since it only allows strings that can be packed in a word. Bringing back full string support would be the first thing. Or perhaps breaking the single C file up would be first - I found collapsing all the miniPicoLisp C files into one easier during the change :) My eventual goal is to get it hooked up with libuv - perhaps by next year :) Happy New Year! Kashyap