Tuesday, September 23, 2003
Mainsail and garbage collection
I was thinking about a garbage collector issue earlier today and was reminded of the Mainsail programming language. When I worked at Cognition, we wrote a Mechanical CAE product in Mainsail. It looks like an object-oriented dialect of Pascal but is a bit older -- it's in the ALGOL / Simula family. Mainsail has a number of cool features, dynamic loading, modules, garbage collection, dynamic strings, etc. and it's extremely portable. The unusual thing about Mainsail garbage collection is that it's a hybrid. You can let the GC kick in and reclaim space or you can call delete on an object that you no longer need. It was beneficial to do explicit deletion since allowed us to reduce the frequency of GC. But, if you used delete you had the same downside of a non-GC language. If you called delete you needed to make sure that you had no other references to the object, otherwise... Crash!. I can't think of another language that has this type of hybrid approach to memory reclamation.
RSS 0.92 Feed