4,756 research outputs found
A Type System for Tom
Extending a given language with new dedicated features is a general and quite
used approach to make the programming language more adapted to problems. Being
closer to the application, this leads to less programming flaws and easier
maintenance. But of course one would still like to perform program analysis on
these kinds of extended languages, in particular type checking and inference.
In this case one has to make the typing of the extended features compatible
with the ones in the starting language.
The Tom programming language is a typical example of such a situation as it
consists of an extension of Java that adds pattern matching, more particularly
associative pattern matching, and reduction strategies.
This paper presents a type system with subtyping for Tom, that is compatible
with Java's type system, and that performs both type checking and type
inference. We propose an algorithm that checks if all patterns of a Tom program
are well-typed. In addition, we propose an algorithm based on equality and
subtyping constraints that infers types of variables occurring in a pattern.
Both algorithms are exemplified and the proposed type system is showed to be
sound and complete
Data Structures and Data Types in Object-Oriented Databases
The possibility of finding a static type system for object-oriented programming languages was initiated by Cardelli [Car88, CW85] who showed that it is possible to express the polymorphic nature of functions such a
Practical Datatype Specializations with Phantom Types and Recursion Schemes
Datatype specialization is a form of subtyping that captures program
invariants on data structures that are expressed using the convenient and
intuitive datatype notation. Of particular interest are structural invariants
such as well-formedness. We investigate the use of phantom types for describing
datatype specializations. We show that it is possible to express
statically-checked specializations within the type system of Standard ML. We
also show that this can be done in a way that does not lose useful programming
facilities such as pattern matching in case expressions.Comment: 25 pages. Appeared in the Proc. of the 2005 ACM SIGPLAN Workshop on
M
A Configurable Matchmaking Framework for Electronic Marketplaces
E-marketplaces constitute a major enabler of B2B and B2C e-commerce activities. This paper proposes a framework for one of the central activities of e-marketplaces: matchmaking of trading intentions lodged by market participants. The framework identifies a core set of concepts and functions that are common to all types of marketplaces and can serve as the basis for describing the distinct styles of matchmaking employed within various market mechanisms. A prototype implementation of the framework based on Web services technology is presented, illustrating its ability to be dynamically configured to meet specific market needs and its potential to serve as a foundation for more fully fledged e-marketplace frameworks
- …