Transporting functions across ornaments
Transporting functions across ornaments
复制标题
跨装饰品传输功能
DOI:
10.1145/2398856.2364544
复制
发表时间:
2012
影响因子:
--
通讯作者:
Dagand P
中科院分区:
文献类型:
--
作者:
Dagand P
Programming with dependent types is a blessing and a curse. It is a blessing to be able to bake invariants into the definition of datatypes: we can finally write correct-by-construction software. However, this extreme accuracy is also a curse: a datatype is the combination of a structuring medium together with a special purpose logic. These domain-specific logics hamper any effort of code reuse among similarly structured data. In this paper, we exorcise our datatypes by adapting the notion of ornament to our universe of inductive families. We then show how code reuse can be achieved by ornamenting functions. Using these functional ornaments, we capture the relationship between functions such as the addition of natural numbers and the concatenation of lists. With this knowledge, we demonstrate how the implementation of the former informs the implementation of the latter: the user can ask the definition of addition to be lifted to lists and she will only be asked the details necessary to carry on adding lists rather than numbers. Our presentation is formalised in a type theory with a universe of datatypes and all our constructions have been implemented as generic programs, requiring no extension to the type theory.
登录
查看更多内容
DOI:
--
发表时间:
2004
期刊:
Types for Proofs and Programs
影响因子:
--
作者:
Conor McBride;H. Goguen;James McKinna
通讯作者:
James McKinna
DOI:
--
发表时间:
2011
期刊:
Foundations of Software Science and Computation Structure
影响因子:
--
作者:
R. Atkey;Patricia Johann;Neil Ghani
通讯作者:
Neil Ghani
DOI:
--
发表时间:
2014
期刊:
影响因子:
--
作者:
N. Gumede;A. Young;J. Coetzee
通讯作者:
J. Coetzee
DOI:
10.1109/lics.1994.316071
发表时间:
1994-07
期刊:
Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science
影响因子:
--
作者:
M. Hofmann;T. Streicher
通讯作者:
M. Hofmann;T. Streicher
影响因子:
--
作者:
Chapman J
通讯作者:
Chapman J