【24h】

Making Standard ML a Practical Database Programming Language

机译:使标准ML成为实用的数据库编程语言

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

摘要

Integrating a database query language into a programming language is becoming increasingly important in recently emerging high-level cloud computing and other applications, where efficient and sophisticated data manipulation is required during computation. This paper reports on seamless integration of SQL into SML# - an extension of Standard ML. In the integrated language, the type system always infers a principal type for any type consistent SQL expression. This makes SQL queries first-class citizens, which can be freely combined with any other language constructs definable in Standard ML. For a program involving SQL queries, the compiler separates SQL queries and delegates their evaluation to a database server, e.g. PostgreSQL or MySQL in the currently implemented version. The type system of our language is largely based on Machi-avelli, which demonstrates that ML with record polymorphism can represent type structure of SQL. In order to develop a practical language, however, a number of technical challenges have to be overcome, including static enforcement of server connection consistency, proper treatment of overloaded SQL primitives, query compilation, and runtime connection management. This paper describes the necessary extensions to the type system and compilation, and reports on the details of its implementation.
机译:在最近出现的高级云计算和其他应用程序中,将数据库查询语言集成到编程语言中变得越来越重要,在这些应用程序中,在计算过程中需要高效而复杂的数据处理。本文报告了将SQL无缝集成到SML#(标准ML的扩展)中的情况。在集成语言中,类型系统始终为任何类型一致的SQL表达式推断主体类型。这使SQL查询成为一等公民,可以将其与标准ML中定义的任何其他语言构造自由组合。对于涉及SQL查询的程序,编译器会分离SQL查询,并将其评估委托给数据库服务器,例如当前实现版本的PostgreSQL或MySQL。我们语言的类型系统主要基于Machi-avelli,这表明具有记录多态性的ML可以表示SQL的类型结构。但是,为了开发一种实用的语言,必须克服许多技术难题,包括服务器连接一致性的静态实施,重载SQL原语的正确处理,查询编译和运行时连接管理。本文描述了类型系统和编译的必要扩展,并报告了其实现的详细信息。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号