A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2018; you can also visit <a rel="external noopener" href="https://www.pure.ed.ac.uk/ws/files/16517487/Database_Programming_in_Machiavelli_a_Polymorphic_Language_with_Static_Type_Inference.pdf">the original URL</a>. The file type is <code>application/pdf</code>.
Database programming in Machiavelli---a polymorphic language with static type inference
<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 '89</a>
</i>
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
<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>
more »
... 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.
<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>