A kernel language for abstract data types and modules.
Proc. of the international symposium on Semantics of data types
The semantics of second order polymorphic lambda calculus.
Proc. of the international symposium on Semantics of data types
A theory of data type representation independence.
Proc. of the international symposium on Semantics of data types
CLU reference manual
Abstract types have existential types
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Using dependent types to express modular structure
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Second-Order Logical Relations (Extended Abstract)
Proceedings of the Conference on Logic of Programs
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
An investigation of a programming language with a polymorphic type structure.
An investigation of a programming language with a polymorphic type structure.
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about object-oriented programs that use subtypes
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
On extending computational adequacy by data abstraction
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
On the type structure of standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parametricity and local variables
Journal of the ACM (JACM)
Semantics: the description of computational structures
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using dependent types to express modular structure
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Ownership confinement ensures representation independence for object-oriented programs
Journal of the ACM (JACM)
Modular information hiding and type-safe linking for C
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Syntactic Logical Relations for Polymorphic and Recursive Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Mutatis Mutandis: Safe and predictable dynamic software updating
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Characterisation of Lambda Definability with Sums Via T T-Closure Operators
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
State-dependent representation independence
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Chameleon: adaptive selection of collections
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Second-order pre-logical relations and representation independence
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
Relating computational effects by ⊤⊤-lifting
ICALP'11 Proceedings of the 38th international conference on Automata, languages and programming - Volume Part II
Assertion-based encapsulation, object invariants and simulations
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Journal of Functional Programming - Dedicated to ICFP 2009
State based ownership, reentrance, and encapsulation
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
A semantic formulation of ⊤⊤-lifting and logical predicates for computational metalanguage
CSL'05 Proceedings of the 19th international conference on Computer Science Logic
Noninterference in a predicative polymorphic calculus for access control
Computer Languages, Systems and Structures
Type-changing rewriting and semantics-preserving transformation
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
State based encapsulation for modular reasoning about behavior-preserving refactorings
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
One purpose of type checking in programming languages is to guarantee a degree of "representation independence:" programs should not depend on the way stacks are represented, only on the behavior of stacks with respect to push and pop operations. In languages with abstract data type declarations, representation independence should hold for user-defined types as well as built-in types. We study the representation independence properties of a typed functional language (second-order lambda calculus) with polymorphic functions and abstract data type declarations in which data type implementations (packages) may be passed as function parameters and returned as results. The type checking rules of the language guarantee that two data type implementations P and Q are equivalence whenever there is a correspondence between the behavior of the operations of P and the behavior of the operations of Q.