【24h】

Typed Datalog

机译:输入数据记录

获取原文
获取原文并翻译 | 示例

摘要

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.rnThis 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.
机译:静态类型安全性是许多商业编程语言的重要功能,正如我们在开发LogicBlox(基于Datalog的平台)以构建用于企业计划的企业级系统的经验中所显而易见的那样。现有的使用类型安全性增强Datalog(和Prolog)的方法对于LogicBlox应用程序来说是有问题的,因为(1)它们不支持包含约束,这对于数据库推理至关重要,(2)最坏情况下的运行时间在大小上是指数级的的程序。在LogicBlox环境中,客户端以交互方式添加和执行程序,并且查询有效的编译和执行至关重要,因此,首选PTIME类型检查算法。此外,LogicBlox的主要设计目标之一是在Datalog中表达编译器本身,而通常不包含指数时间算法。rn本文提出了Datalog的类型安全性定义,该定义可以表达包含约束以及有效的(PTIME)和声音(但不是完整的)类型检查算法,针对该算法的一些常见限制提出了解决方法,并指出了如何在Datalog中表示类型检查算法本身。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号