I recently got a message on the forums asking me about the way LÖVE does
garbage collection on its objects, and I figured they probably aren't the only
ones interested, so here's an expanded answer.
As some of you may know, LÖVE is written in C++, which features manual memory
management, and Lua has garbage collection. How do we solve this mismatch? Why,
with another way to manage memory, of course! I'll start off by explaining the
Lua GC (Garbage Collector), then quickly discuss C++'s model, followed by
LÖVE's solution.