I wrote up pLisp into a paper and submitted it to ELS17, but the paper didn't make it. However, I got a lot of valuable feedback, chief among them being "Why the f&*k are you rolling out your own GC, with no benefits in terms of latency, efficiency, etc.?"
Well, the autodidact that I am, I didn't realize at the time of working on the GC bits that things like the Boehm Garbage Collector exist (I was stupidly happy, waxing eloquent about the wonders of posix_memalign() then -- God, how naive were we), and that migrating to the Boehm GC just entails replacing all malloc() and realloc() calls with GC_MALLOC() and GC_REALLOC(), and removing the free() statements. It was just a matter of a half a day's work, and now the code is free of all the inefficient mucking around with hashtables and Red-Black trees.
Well, the autodidact that I am, I didn't realize at the time of working on the GC bits that things like the Boehm Garbage Collector exist (I was stupidly happy, waxing eloquent about the wonders of posix_memalign() then -- God, how naive were we), and that migrating to the Boehm GC just entails replacing all malloc() and realloc() calls with GC_MALLOC() and GC_REALLOC(), and removing the free() statements. It was just a matter of a half a day's work, and now the code is free of all the inefficient mucking around with hashtables and Red-Black trees.