{"title":"A next step in data structuring for programming languages","authors":"Jim Mitchell, B. Wegbreit","doi":"10.1145/800237.807122","DOIUrl":null,"url":null,"abstract":"An abstraction provides a statement of the properties of a data type without any commitment to a specific implementation. Programs which use abstractions can be developed and verified without regard to how the abstraction will be realized. Any type which fulfills the requirements of the abstraction can be bound in its place without affecting the program's correctness or its proof.\n In [4], the notion of a scheme as a model for a set of types is developed. A scheme is written as a module which takes normal values plus types as formal parameters. Instantiating a scheme with actual parameters yields a scheme instance which is a data type. For example, one can write a scheme for AVL trees [5] which takes the type of the keys in the tree as a parameter. An instance of this scheme, for example, AVL trees of strings, is a normal data type.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"29 3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1976-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Conference on Data: Abstraction, Definition and Structure","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/800237.807122","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
An abstraction provides a statement of the properties of a data type without any commitment to a specific implementation. Programs which use abstractions can be developed and verified without regard to how the abstraction will be realized. Any type which fulfills the requirements of the abstraction can be bound in its place without affecting the program's correctness or its proof.
In [4], the notion of a scheme as a model for a set of types is developed. A scheme is written as a module which takes normal values plus types as formal parameters. Instantiating a scheme with actual parameters yields a scheme instance which is a data type. For example, one can write a scheme for AVL trees [5] which takes the type of the keys in the tree as a parameter. An instance of this scheme, for example, AVL trees of strings, is a normal data type.