CLU reference manual
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
Polymorphic type inference and containment
Information and Computation - Semantics of Data Types
Proofs and types
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Type inference for polymorphic references
Information and Computation
Compiling with continuations
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Programming with intersection types and bounded polymorphism
Programming with intersection types and bounded polymorphism
Type reconstruction in the presence of polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient detection of all pointer and array access errors
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
A simplified account of polymorphic references
Information Processing Letters
A syntactic approach to type soundness
Information and Computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A sound polymorphic type system for a dialect of C
Science of Computer Programming - Special issue on the 6th European symposium on programming
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information and Computation
Semi-explicit first-class polymorphism for ML
Information and Computation
Behavioral equivalence in the polymorphic pi-calculus
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
CCured: type-safe retrofitting of legacy code
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
The C++ Programming Language
A Theory of Objects
The Definition of Standard ML
Ensuring code safety without runtime checks for real-time control systems
CASES '02 Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems
Toward a foundational typed assembly language
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-safe multithreading in cyclone
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Fundamental Concepts in Programming Languages
Higher-Order and Symbolic Computation
Debugging via Run-Time Type Checking
FASE '01 Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering
Towards an ML-Style Polymorphic Type System for C
ESOP '96 Proceedings of the 6th 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
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Alias Types for Recursive Data Structures
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Imperative Programming with Dependent Types
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Contextual polymorphism
MLF: raising ML to the power of system F
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Upgrading transport protocols using untrusted mobile code
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
A calculus with polymorphic and polyvariant flow types
Journal of Functional Programming
Stack-based typed assembly language
Journal of Functional Programming
Safe programming at the c level of abstraction
Safe programming at the c level of abstraction
Experience with safe manual memory-management in cyclone
Proceedings of the 4th international symposium on Memory management
Safe manual memory management in cyclone
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Type inference for unboxed types and first class mutability
Proceedings of the 3rd workshop on Programming languages and operating systems: linguistic support for modern operating systems
A theory of platform-dependent low-level software
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sound and Complete Type Inference for a Systems Programming Language
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Inferring data polymorphism in systems code
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Hi-index | 0.00 |
We describe universal types, existential types, and type constructors in Cyclone, a strongly typed C-like language. We show how the language naturally supports first-class polymorphism and polymorphic recursion while requiring an acceptable amount of explicit type information. More importantly, we consider the soundness of type variables in the presence of C-style mutation and the address-of operator. For polymorphic references, we describe a solution more natural for the C level than the ML-style “value restriction.” For existential types, we discover and subsequently avoid a subtle unsoundness issue resulting from the address-of operator. We develop a formal abstract machine and type-safety proof that capture the essence of type variables at the C level.