PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From system F to typed assembly language
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical Computer Science - Special volume on computer algebra
Eliminating array bound checking through dependent types
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dead Code Elimination through Dependent Types
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
A Dependently Typed Assembly Language
A Dependently Typed Assembly Language
Dependent types in practical programming
Dependent types in practical programming
A dependently typed assembly language
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Existential Types for Imperative Languages
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
A type system for resource protocol verification and its correctness proof
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Verifying safety policies with size properties and alias controls
Proceedings of the 27th international conference on Software engineering
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Quantified types in an imperative language
ACM Transactions on Programming Languages and Systems (TOPLAS)
SafeDrive: safe and recoverable extensions using language-based techniques
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
A type system equivalent to a model checker
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unifying type checking and property checking for low-level code
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Memory Usage Verification Using Hip/Sleek
ATVA '09 Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis
Dependent types for low-level programming
ESOP'07 Proceedings of the 16th European conference on Programming
Certified result checking for polyhedral analysis of bytecode programs
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
A type system equivalent to a model checker
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Using dependent types to certify the safety of assembly code
SAS'05 Proceedings of the 12th international conference on Static Analysis
Safe programming with pointers through stateful views
PADL'05 Proceedings of the 7th international conference on Practical Aspects of Declarative Languages
Type checking cryptography implementations
FSEN'11 Proceedings of the 4th IPM international conference on Fundamentals of Software Engineering
Programming and reasoning with algebraic effects and dependent types
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
PLDI 2002: Extended static checking for Java
ACM SIGPLAN Notices - Supplemental issue
Fissile type analysis: modular checking of almost everywhere invariants
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.02 |
In this paper, we enrich imperative programming with a form of dependent types. We start with explaining some motivations for this enrichment and mentioning some major obstacles that need to be overcome. We then present the design of a source level dependently typed imperative programming language Xanadu, forming both static and dynamic semantics and then establishing the type soundness theorem. We also present realistic examples, which have all been verified in a prototype implementation, in support of the practicality of Xanadu. We claim that the language design of Xanadu is novel and it serves as an informative example that demonstrates a means to combine imperative programming with dependent types.