【24h】

Positively Dependent Types

机译:正相关类型

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

摘要

This paper is part of a line of work on using the logical techniques of polarity and focusing to design a dependent programming language, with particular emphasis on programming with deductive systems such as programming languages and proof theories. Polarity emphasizes the distinction between positive types, which classify data, and negative types, which classify computation. In previous work, we showed how to use Zeilberger's higher-order formulation of focusing to integrate a positive function space for representing variable binding, an essential tool for specifying logical systems, with a standard negative computational function space. However, our previous work considers only a simply-typed language. The central technical contribution of the present paper is to extend higher-order focusing with a form of dependency that we call positively dependent types: We allow dependency on positive data, but not negative computation. Additionally, we present the syntax of dependent pair and function types using an iterated inductive definition, mapping positive data to types, which gives an account of type-level computation. We construct our language inside the dependency typed programming language Agda 2, making essential use of coinductive types and induction-recursion.
机译:本文是使用极性逻辑技术并着重设计依赖的编程语言的工作系列的一部分,特别着重于使用演绎系统(例如编程语言和证明理论)进行编程。极性强调对数据进行分类的正数类型与对计算进行分类的负数类型之间的区别。在以前的工作中,我们展示了如何使用Zeilberger的高阶聚焦公式将用于表示变量绑定的正函数空间(用于指定逻辑系统的基本工具)与标准负计算函数空间集成在一起。但是,我们以前的工作仅考虑一种简单的语言。本文的主要技术贡献是以一种依赖关系的形式扩展了高阶聚焦,我们将这种依赖关系称为正依赖类型:我们允许依赖正数据,但不允许负计算。此外,我们使用迭代归纳定义呈现从属对和函数类型的语法,将正数据映射到类型,从而说明了类型级别的计算。我们在依赖类型的编程语言Agda 2中构造我们的语言,并充分利用了共归类型和归纳递归。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号