Copatterns: programming infinite structures by observations

A Abel, B Pientka, D Thibodeau, A Setzer - ACM SIGPLAN Notices, 2013 - dl.acm.org
Inductive datatypes provide mechanisms to define finite data such as finite lists and trees via
constructors and allow programmers to analyze and manipulate finite data via pattern …

Programming with proofs and explicit contexts

B Pientka, J Dunfield - Proceedings of the 10th international ACM …, 2008 - dl.acm.org
This paper explores a new point in the design space of functional programming: functional
programming with dependently-typed higher-order data structures described in the logical …

The logical basis of evaluation order and pattern-matching

N Zeilberger - 2009 - search.proquest.com
An old and celebrated analogy says that writing programs is like proving theorems. This
analogy has been productive in both directions, but in particular has demonstrated …

Programming with binders and indexed data-types

A Cave, B Pientka - Proceedings of the 39th annual ACM SIGPLAN …, 2012 - dl.acm.org
We show how to combine a general purpose type system for an existing language with
support for programming with binders and contexts by refining the type system of ML with a …

2-dimensional directed type theory

DR Licata, R Harper - Electronic Notes in Theoretical Computer Science, 2011 - Elsevier
Recent work on higher-dimensional type theory has explored connections between Martin-
Löf type theory, higher-dimensional category theory, and homotopy theory. These …

[PDF][PDF] Ornamental algebras, algebraic ornaments

C McBride - Journal of functional programming, 2010 - personal.cis.strath.ac.uk
This paper re-examines the presentation of datatypes in dependently typed languages,
addressing in particular the issue of what it means for one datatype to be in various ways …

A two-level logic approach to reasoning about computations

A Gacek, D Miller, G Nadathur - Journal of Automated Reasoning, 2012 - Springer
Relational descriptions have been used in formalizing diverse computational notions,
including, for example, operational semantics, typing, and acceptance by non-deterministic …

Unembedding domain-specific languages

R Atkey, S Lindley, J Yallop - Proceedings of the 2nd ACM SIGPLAN …, 2009 - dl.acm.org
Higher-order abstract syntax provides a convenient way of embedding domain-specific
languages, but is awkward to analyse and manipulate directly. We explore the boundaries of …

VeriML: Typed computation of logical terms inside a language with effects

A Stampoulis, Z Shao - Proceedings of the 15th ACM SIGPLAN …, 2010 - dl.acm.org
Modern proof assistants such as Coq and Isabelle provide high degrees of expressiveness
and assurance because they support formal reasoning in higher-order logic and supply …

[PDF][PDF] Substructural logical specifications

RJ Simmons - 2012 - Citeseer
14. ABSTRACT A logical framework and its implementation should serve as a flexible tool
for specifying, simulating, and reasoning about formal systems. When the formal systems we …