Uniform Abstract Syntax
Small Business Information
9971 Valley View Road, Eden Prairie, MN, 55344
AbstractThe differences between the abstract syntax (as opposed to the concrete syntax) of programming languages are mostly issues of binding. Architecture Technology Corporation proposes an abstract syntax representation that represents binding explicitly and uniformly for programming languages. The syntax can express differences in variables, scopes, and parameter passing. It can express differences in object systems and module systems. It can express generics and type systems. The abstract syntax has a simple but very expressive semantics based on a typed functional/object calculus. It employs higher-order abstract syntax (as found in lambda-Prolog) to represent binding sites uniformly; and uses explicit staging (as found in MetaML) to represent binding times uniformly. The abstract syntax has an external representation as valid XML documents. The design of transformation and unparsing tools to handle higher-order, multi-stage syntax is considered.
* information listed above is at the time of submission.