Database programming in machiavelli - A polymorphic language with static type inference

Atsushi Ohori, Peter Buneman, Val Breazu-Tannen

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

8 Citations (Scopus)

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 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.

Original languageEnglish
Title of host publicationProceedings of the 1989 ACM SIGMOD International Conference on Management of Data, SIGMOD 1989
PublisherAssociation for Computing Machinery
Pages46-57
Number of pages12
ISBN (Electronic)0897913175
DOIs
Publication statusPublished - 1989 Jun 1
Externally publishedYes
Event1989 ACM SIGMOD International Conference on Management of Data, SIGMOD 1989 - Portland, United States
Duration: 1989 May 311989 Jun 2

Publication series

NameProceedings of the ACM SIGMOD International Conference on Management of Data
VolumePart F130127
ISSN (Print)0730-8078

Other

Other1989 ACM SIGMOD International Conference on Management of Data, SIGMOD 1989
Country/TerritoryUnited States
CityPortland
Period89/5/3189/6/2

ASJC Scopus subject areas

  • Software
  • Information Systems

Fingerprint

Dive into the research topics of 'Database programming in machiavelli - A polymorphic language with static type inference'. Together they form a unique fingerprint.

Cite this