New data models and languages—the challenge
PODS '92 Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Functional and predictive programming in OODB's
PODS '92 Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
PODS '93 Proceedings of the twelfth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Normal forms and conservative properties for query languages over collection types
PODS '93 Proceedings of the twelfth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Semantic representations and query languages for or-sets
PODS '93 Proceedings of the twelfth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Towards a unified visual database access
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Projection-propagation in complex-object query languages
CIKM '93 Proceedings of the second international conference on Information and knowledge management
ACM SIGMOD Record
Tutorial: languages for collection types
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
A query language for list-based complex objects
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Functional database query languages as typed lambda calculi of fixed order (extended abstract)
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Semantics and expressiveness issues in active databases (extended abstract)
PODS '95 Proceedings of the fourteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Applying an update method to a set of receivers (extended abstract)
PODS '95 Proceedings of the fourteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Normalizing incomplete databases
PODS '95 Proceedings of the fourteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Towards an effective calculus for object query languages
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Polymorphism and type inference in database programming
ACM Transactions on Database Systems (TODS)
Query languages for bags: expressive power and complexity
ACM SIGACT News
An equational object-oriented data model and its data-parallel query language
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On genericity and parametricity (extended abstract)
PODS '96 Proceedings of the fifteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Object identity as a query language primitive
Journal of the ACM (JACM)
The functional guts of the Kleisli query system
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Optimizing object queries using an effective calculus
ACM Transactions on Database Systems (TODS)
Applying an update method to a set of receivers
ACM Transactions on Database Systems (TODS)
Orthogonally persistent object systems
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Fibonacci: a programming language for object databases
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Modeling data and objects: an algebraic view point
Theoretical aspects of computer science
Querying and Updating the File
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
A Data Transformation System for Biological Data Sources
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
An Object Algebra for the ODMG Standard
ADBIS '02 Proceedings of the 6th East European Conference on Advances in Databases and Information Systems
Modeling Data and Objects: An Algebraic View Point
Theoretical Aspects of Computer Science, Advanced Lectures [First Summer School on Theoretical Aspects of Computer Science, Tehran, Iran, July 2000]
UnQL: a query language and algebra for semistructured data based on structural recursion
The VLDB Journal — The International Journal on Very Large Data Bases
Algebraic query optimisation for database programming languages
The VLDB Journal — The International Journal on Very Large Data Bases
The Application of the SequenceL Language to Complicated Database Applications
ASSET '98 Proceedings of the 1998 IEEE Workshop on Application - Specific Software Engineering and Technology
Kleisli, a functional query system
Journal of Functional Programming
Designing Interdisciplinary Approaches To Problem Solving Into Computer Languages
Journal of Integrated Design & Process Science
Optimizing relational algebra operations using generic equivalence discriminators and lazy products
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Future Generation Computer Systems
Generic multiset programming for language-integrated querying
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Bidirectionalizing graph transformations
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Satisfiability and containment problem of structural recursions with conditions
ADBIS'10 Proceedings of the 14th east European conference on Advances in databases and information systems
Generic multiset programming with discrimination-based joins and symbolic Cartesian products
Higher-Order and Symbolic Computation
Structural recursion for querying ordered graphs
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
We propose a programming paradigm that tries to get close to both the semantic simplicity of relational algebra, and the expressive power of unrestricted programming languages. Its main computational engine is structural recursion on sets. All programming is done within a “nicely” typed lambda calculus, as in Machiavelli [OBB89]. A guiding principle is that how queries are implemented is as important as whether they can be implemented. As in relational algebra, the meaning of any relation transformer is guaranteed to be a total map taking finite relations to finite relations. A naturally restricted class of programs written with structural recursion has precisely the expressive power of the relational algebra. The same programming paradigm scales up, yielding query languages for the complex-object model [AB89]. Beyond that, there are, for example, efficient programs for transitive closure and we are also able to write programs that move out of sets, and then perhaps back to sets, as long as we stay within a (quite flexible) type system. The uniform paradigm of the language suggests positive expectations for the optimization problem. In fact, structural recursion yields finer grain programming therefore we expect that lower-level, and therefore better optimization will be feasible.