Request Functions for the C Language

Abstract

A set of extensions to the C language for dynamic and reflective control over function execution is described. A request function is a new kind of C function that allocates an explicit request context as part of its call. The request context includes all passed parameters along with additional data needed to interpret a request. Multiple functions may be dispatched against a single request context using an adapted form of "goto" statement. The request context can also be accessed with semantics identical to those of a memory object. These extensions are intended as a incremental addition to the underlying language, so that C can serve its common role as a "portable assembler." This role needs to include highly dynamic and reflective implementation of extensible services, such as those defined by an advanced object system. 1. Introduction In a paper prepared for the 1990 ECOOP/OOPSLA reflection workshop [1], I proposed an initial version of C language extensions to support functions wh..

    Similar works

    Full text

    thumbnail-image

    Available Versions