An Extension of ML with First-Class Abstract Types
TL;DRAbstract
Many statically-typed programming languages provide an abstract data type construct, such as the package in Ada, the cluster in CLU, and the module in Modula2. In these languages, an abstract data type consists of two parts, interface and implementation. The implementation consists of one or more representation types and some operations on these types; the interface specifies the names and types of the operations accessible to the user of the abstract data type. ML [MTH90] provides two distinct constructs for describing abstract data types: • The (obsolete) abstype mechanism is used to declare an abstract data type with a single implementation. It has been superseded by the module system.
Chat with Paper
AI Agents for this Paper
Many statically-typed programming languages provide an abstract data type construct, such as the package in Ada, the cluster in CLU, and the module in Modula2. In these languages, an abstract data type consists of two parts, interface and implementation. The implementation consists of one or more representation types and some operations on these types; the interface specifies the names and types of the operations accessible to the user of the abstract data type. ML [MTH90] provides two distinct constructs for describing abstract data types: • The (obsolete) abstype mechanism is used to declare an abstract data type with a single implementation. It has been superseded by the module system.
Keywords
Chat
Click to start Chat