Over twenty years ago, Abadi et al. established the Dependency Core Calculus (DCC) as a general purpose framework for analyzing dependency in typed programming languages. Since then, dependency analysis has shown many practical benefits to language design: its results can help users and compilers enforce security constraints, eliminate dead code, among other applications. In this work, we present a Dependent Dependency Calculus (DDC), which extends this general idea to the setting of a dependently-typed language. We use this calculus to track both run-time and compile-time irrelevance, enabling faster type-checking and program execution.
翻译:20多年前,阿巴迪等人建立了依赖性核心计算(DCC),作为分析打字编程语言依赖性的一般目的框架,自此以来,依赖性分析显示出了语言设计的许多实际好处:其结果可以帮助用户和汇编者实施安全限制,除其它应用程序外,消除死代码。在这项工作中,我们提出了一个依赖性核心计算(DDC),将这一普遍想法扩大到设置依赖性语言。我们利用这一计算来跟踪运行时间和编译时间的不相干之处,从而能够更快地进行类型检查和执行程序。