Technical Reports (CIS)

Document Type

Technical Report

Date of this Version

December 1988

Comments

University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-88-103.

Abstract

Machiavelli is a polymorphically typed programming language in the spirit of ML, but supports a different type inferencing that makes its polymorphism somewhat more general than that of ML and appropriate for database applications. In particular, a function that selects a field f of a records is polymorphic in the sense that it can be applied to any record which contains a field f with the appropriate type. When combined with a set data type and database operations including join and projection, this provides a natural medium for relational database programming. Moreover, by implementing database objects as reference types and generating the appropriate views - sets of structures with "identity" - we can achieve a degree of static type checking for object-oriented databases.

Share

COinS
 

Date Posted: 01 November 2007