An intensional characterization of the largest bisimulation
Theoretical Computer Science
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Notions of computation and monads
Information and Computation
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Imperative functional programming
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Cayenne—a language with dependent types
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
The Design of a Pretty-printing Library
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
An Introduction to Dependent Type Theory
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Fundamenta Informaticae - Dependently Typed Programming
IDRIS ---: systems programming meets full dependent types
Proceedings of the 5th ACM workshop on Programming languages meets program verification
Interfaces as games, programs as strategies
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
Data Types with Symmetries and Polynomial Functors over Groupoids
Electronic Notes in Theoretical Computer Science (ENTCS)
Programming and reasoning with algebraic effects and dependent types
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Continuity of Gödel's System T Definable Functionals via Effectful Forcing
Electronic Notes in Theoretical Computer Science (ENTCS)
A type-theoretical approach for ontologies: The case of roles
Applied Ontology
Hi-index | 0.00 |
We propose a representation of interactive systems in dependent type theory. This is meant as a basis for an execution environment for dependently typed programs, and for reasoning about their construction. The inspiration is the 'I/O-monad' of Haskell. The fundamental notion is an I/O-tree; its definition is parameterised over a general notion of dependently typed, command-response interactions called a world. I/O-trees represent strategies for one of the parties in a command/response interaction - the notion is not confined to functional programming. We present I/O-trees in two forms. The first form, which is simpler, is suitable for Turing-complete functional programming languages with general recursion, but is non-normalising. The second is definable within (ordinary) normalising type theory and we identify programs written in it as 'normalising I/O-programs'. We define new looping constructs (while and repeat), and a new refinement construct (redirect), which permits the implementation of libraries. We introduce a bisimulation relation between interactive programs, with respect to which we prove the monad laws and defining equations of while. Most definitions in this article make essential use of the expressive strength of dependent typing.