When Is a Type Refinement an Inductive Type?
When Is a Type Refinement an Inductive Type?
复制标题
类型细化何时是归纳类型?
DOI:
--
复制
发表时间:
2011
期刊:
影响因子:
--
通讯作者:
Neil Ghani
中科院分区:
文献类型:
--
作者:
R. Atkey;Patricia Johann;Neil Ghani
Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful information. For example, the N-indexed type of vectors refines lists by their lengths. Other data types may be refined in similar ways, but programmers must produce purposespecific refinements on an ad hoc basis, developers must anticipate which refinements to include in libraries, and implementations often store redundant information about data and their refinements. This paper shows how to generically derive inductive characterisations of refinements of inductive types, and argues that these characterisations can alleviate some of the aforementioned difficulties associated with ad hoc refinements. These characterisations also ensure that standard techniques for programming with and reasoning about inductive types are applicable to refinements, and that refinements can themselves be further refined.
影响因子:
--
作者:
Chapman J
通讯作者:
Chapman J