A kernel language for abstract data types and modules.
Proc. of the international symposium on Semantics of data types
Understanding Russell–a first attempt
Proc. of the international symposium on Semantics of data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Persistence and type abstraction
Data types and persistence
Abstract types have existential types
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Representation independence and data abstraction
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
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
An Informal Description of Russell
An Informal Description of Russell
An investigation of a programming language with a polymorphic type structure.
An investigation of a programming language with a polymorphic type structure.
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)
Type theories and object-oriented programmimg
ACM Computing Surveys (CSUR)
An implementation of standard ML modules
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Objects as closures: abstract semantics of object-oriented languages
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structural subtyping and the notion of power type
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static type inference for parametric classes
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Higher-order modules and the phase distinction
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An extension of standard ML modules with subtyping and inheritance
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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)
Manifest types, modules, and separate compilation
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type-theoretic approach to higher-order modules with sharing
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for prototyping languages
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphism and subtyping in interface
IDL '94 Proceedings of the workshop on Interface definition languages
Polymorphic type inference and abstract data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Applicative functors and fully transparent higher-order modules
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-order functors with transparent signatures
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using parameterized signatures to express modular structure
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Typed cross-module compilation
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Mawl: A Domain-Specific Language for Form-Based Services
IEEE Transactions on Software Engineering
Transparent modules with fully syntatic signatures
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Representation independence and data abstraction
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A formal specification of the Haskell 98 module system
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
A type system for higher-order modules
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dependently Typed Records for Representing Mathematical Structure
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Modular Structures as Dependent Types in Isabelle
TYPES '98 Selected papers from the International Workshop on Types for Proofs and Programs
Sharing in Typed Module Assembly Language
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
An Introduction to Dependent Type Theory
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
First-class structures for standard ML
Nordic Journal of Computing
Programming methodology
Typed operational semantics for higher-order subtyping
Information and Computation
A syntactic approach to eta equality in type theory
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Logical Framework with Dependently Typed Records
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Type sharing constraints and undecidability
Journal of Functional Programming
Dynamic Translucency with Abstraction Kinds and Higher-Order Coercions
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
A logical framework with dependently typed records
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
Engineering higher-order modules in SML/NJ
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
A Logical Framework with Dependently Typed Records
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Typing artifacts in megamodeling
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
Writing any large program poses difficult problems of organization. In many modern programming languages these problems are addressed by special linguistic constructs, variously known as modules, packages, or clusters, which provide for partitioning programs into manageable components and for securely combining these components to form complete programs. Some general purpose components are able to take on a life of their own, being separately compiled and stored in libraries of generic, reusable program units. Usually modularity constructs also support some form of information hiding, such as "abstract data types." "Programming in the large" is concerned with using such constructs to impose structure on large programs, in contrast to "programming in the small", which deals with the detailed implementation of algorithms in terms of data structures and control constructs. Our goal here is to examine some of the proposed linguistic notions with respect to how they meet the pragmatic requirements of programming in the large.