User Settings
Article

An Extension of ML with First-Class Abstract Types

16

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

Programming languageComputer scienceData typeConstruct (python library)Abstract data typeInterface (matter)Extension (predicate logic)Type (biology)

Chat

Click to start Chat