Zero-a blend of static typing and dynamic metaprogramming

  • Authors:
  • Sašo Greiner;Janez Brest;Viljem umer

  • Affiliations:
  • Faculty of Electrical Engineering and Computer Science, Institute of Computer Science, 2000 Maribor, Slovenia;Faculty of Electrical Engineering and Computer Science, Institute of Computer Science, 2000 Maribor, Slovenia;Faculty of Electrical Engineering and Computer Science, Institute of Computer Science, 2000 Maribor, Slovenia

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Zero is an experimental statically typed, fully object-oriented reflective programming language. Reflective features cover introspection as well as structural and behavioural reflection. The reflective facilities include safe method and class replacements and detailed modification of methods. These enable Zero programs to quickly accommodate to run-time requirements. Behavioural reflection is realised using handlers (hooks), which may be attached to all language constructs based on closures. Zero provides an efficient static typing system with run-time extensions. Methods are first class values and are represented as objects when such representation is required. By using such representation, Zero provides elegant use of statically typed higher-order methods.