Comment by syn-nine

2 months ago

Thanks! I really like how I combined the parameter stack and scratchpad from FORTH with the call stack from x86 style assembly. It makes it really easy to get multiple return values from functions. I also really like how lists and the loadat and storeat bytecodes turned out. It became a really elegant way to chain list indexes by pushing and popping addresses from the parameter stack. This was my first use of the scratchpad pattern and I felt like it was a very nice solution to returning temporarily allocated memory up the call chain / up scope without requiring memory management. I was also really pleased with how the new() keyword recursively deep copies something out of scratch to the heap.

It could use some cleanup though as the speed of the jam left little time to think about doing things in a sustainable way. I'm not sure I like the var keyword as I typically prefer to be explicit about types.

It really turned out pretty powerful though and I think it could be really useful as a library for game scripting.

That's really cool! Actually sounds like it could be worth the effort to clean it up and bring it to a stable release! I like the idea of a language made from the metal up with game dev in mind!