Database programming in Machiavelli---a polymorphic language with static type inference

Atsushi Ohori, Peter Buneman, Val Breazu-Tannen
<span title="">1989</span> <i title="ACM Press"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/vxrc3vebzzachiwy3nopwi3h5u" style="color: black;">Proceedings of the 1989 ACM SIGMOD international conference on Management of data - SIGMOD &#39;89</a> </i> &nbsp;
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
more &raquo; ... 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.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/67544.66931">doi:10.1145/67544.66931</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/sigmod/OhoriBT89.html">dblp:conf/sigmod/OhoriBT89</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/lnv36khi4vbipiuexhdymoline">fatcat:lnv36khi4vbipiuexhdymoline</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20180720165330/https://www.pure.ed.ac.uk/ws/files/16517487/Database_Programming_in_Machiavelli_a_Polymorphic_Language_with_Static_Type_Inference.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/c5/40/c5407a86699c1aa71a6a3f9ed472485d347545bb.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/67544.66931"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> acm.org </button> </a>