Edinburgh Research Explorer

Database Programming in Machiavelli - a Polymorphic Language with Static Type Inference

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Related Edinburgh Organisations

Open Access permissions

Open

Documents

http://dl.acm.org/citation.cfm?id=66931
Original languageEnglish
Title of host publicationSIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
PublisherACM
Pages46-57
Number of pages12
ISBN (Print)0-89791-317-5
DOIs
Publication statusPublished - 1 Jun 1989

Abstract

Machiavelli is a polymorphically typed programming language in the spirit of ML, but supports an extended method of type inferencing that makes its polymorphism more general and appropriate for database applications. In particular, a function that selects a field ƒ of a records is polymorphic in the sense that it can be applied to any record which contains a field ƒ 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.

Download statistics

No data available

ID: 10624849