Objects and polymorphism in system programming languages: a new approach


  • Ádám Balogh
  • Zoltán Csörnyei


A low-level data structure always has a predefined representation which does not fit into an object of traditional object-oriented languages, where explicit type tag denotes its dynamic type. This is the main reason why the advanced features of object-oriented programming cannot be fully used at the lowest level. On the other hand, the hierarchy of low-level data structures is very similar to class-trees, but instead of an explicit tag-field the value of the object determines its dynamic type. Another peculiar requirement in system programming is that some classes have to be polymorphic by-value with their ancestor: objects must fit into the space of a superclass instance. In our paper we show language constructs which enable the system programmer to handle all data structures as objects, and exploit the advantages of object-oriented programming even at the lowest level. Our solution is based on Predicate Dispatching, but adopted to the special needs of system programming. The techniques we show also allow fo r some classes to be polymorphic by-value with their super. We also describe how to implement these features without losing modularity.


System Programming, Low-level Programming, Object-oriented Programmig, Inheritance, Polymorphism, Predicate Classes, Predicate Dispatching.

How to Cite

Balogh, Ádám, Csörnyei, Z. “Objects, polymorphism in system programming languages: a new approach”, Periodica Polytechnica Electrical Engineering, 51(3-4), pp. 85–97, 2007. https://doi.org/10.3311/pp.ee.2007-3-4.03