Okay, Schubido's post inspired me to work on a better inheritance system and I'm pleased to announce that Lite Foundation has now a real single inheritance system laugh

Classes can define a super class in their description and the runtime will try to fallback to the superclass wherever possible. For example, asking if an object is kind of a certain class (LFIsTypeOf()) will now return true even if the object just inherited from the object or an object that inherited from it (or deeper).
Same goes for things like LFHash() and something useful if you want to build subclasses; The dealloc and init callbacks are now called for every class in the inheritance chain.
This means that a subclass doesn't need to initialize its superclasses member but just its own new, likewise, on de-allocation, the class only needs to worry about its own allocations.

Also; All protocol functions will now be called on the super class if the objects class doesn't implement the protocol or you can call the superclasses implementation directly via a few new functions.


Another nice thing for people who don't care about the runtime and this nasty stuff: I'm currently working on a set class that can store objects in unsorted order, once I've done this, I will make a pretty cool and even useful demo to show what a few lines with Lite Foundation can do. So stay tuned laugh


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com