A polymorphic type system for PROLOG.
Artificial Intelligence
Computing with logic: logic programming with Prolog
Computing with logic: logic programming with Prolog
The well-founded semantics for general logic programs
Journal of the ACM (JACM)
On the expressive power of datalog: tools and a case study
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Deductive Databases and Their Applications
Deductive Databases and Their Applications
Foundations of Databases: The Logical Level
Foundations of Databases: The Logical Level
DATALOG with Constraints: A Foundation for Trust Management Languages
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Using Types as Approximations for Type Checking Prolog Programs
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
Context-sensitive program analysis as database queries
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Implementing declarative overlays
Proceedings of the twentieth ACM symposium on Operating systems principles
Declarative networking: language, execution and optimization
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
The DLV system for knowledge representation and reasoning
ACM Transactions on Computational Logic (TOCL)
Datalog as a pointcut language in aspect-oriented programming
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Scaling games to epic proportions
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Proceedings of the twenty-seventh ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Type inference for datalog and its application to query optimisation
Proceedings of the twenty-seventh ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Evita raced: metacompilation for declarative networks
Proceedings of the VLDB Endowment
CodeQuest: scalable source code queries with datalog
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Automated Test Input Generation for Software That Consumes ORM Models
OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009
Predicate Reference and Navigation in ORM
OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009
Mapping ORM to datalog: an overview
OTM'10 Proceedings of the 2010 international conference on On the move to meaningful internet systems
Optimizing inequality joins in datalog with approximated constraint propagation
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Object-Role Modeling: Principles and Benefits
International Journal of Information System Modeling and Design
Semantic query optimization in the presence of types
Journal of Computer and System Sciences
Hi-index | 0.00 |
Static type safety is an important feature of many commercial programming languages, as has become apparent in our experience developing LogicBlox--a Datalog-based platform for building enterprise-scale systems for corporate planning. Existing approaches to enhancing Datalog (and Prolog) with type safety are problematic for LogicBlox applications because (1) they do not support inclusion constraints, which are crucial for database reasoning, and (2) their worst-case running times are exponential in the size of the programs. In the LogicBlox environment--where clients interactively add and execute programs and queries--efficient compilation and execution are critical, and so a PTIME type-checking algorithm is preferred. Furthermore, one of the central design goals of LogicBlox is to express the compiler itself in Datalog, which in general excludes exponential-time algorithms. This paper presents a definition of type safety for Datalog which can express inclusion constraints along with an efficient (PTIME) and sound (but not complete) type-checking algorithm, proposes work-arounds for some common limitations of the algorithm, and indicates how the type-checking algorithm itself may be represented in Datalog.