Set oriented languages and program transformations
Abstract
Set constructs and notations provide in many areas an unprecedented expressive power. Sets are nevertheless almost non-existent in most programming languages since they don't have a general-purpose efficient enough representation. Only global transformations, taking into account the context of set constructs and operations may provide a reasonable efficiency. After a brief survey of existing Set Oriented Languages, we present recent developments taking place at New York University concerning SETL and its successors, especially fixed-point specifications, elimination of repetitive evaluations by finite differencing and elimination of associative access costs by an appropriate Data Structure Selection for implementing sets. In this framework we present two original contributions: the first one concerns a rewrite operator on sets for dealing with fixed points of some non-monotonic transformations. The second one concerns Data Structure Selection and how we have extended and reformulated its mechanism as a special kind of type inference,relatively easily implemented in Prolog.Downloads
Published
Issue
Section
License
The authors retain all rights to the original work without any restrictions.
License for Published Contents
"Le Matematiche" published articlesa are distribuited with Creative Commons Attribution 4.0 International. You are free to copy, distribute and transmit the work, and to adapt the work. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
License for Metadata
"Le Matematiche" published articles metadata are dedicated to the public domain by waiving all publisher's rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
No Fee Charging
No fee is required to complete the submission/review/publishing process of authors paper.