Mathematical Structures in Computer Science · 1995 · 149 citations · 6 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSet TheoryData TypesObject-oriented AnalysisObject-oriented DesignObject-oriented ProgrammingSpecification LanguagesType SystemsAbstract Data TypesAbstract TypesCategorical SemanticsObjectsTransition Functions
The categorical dual construction of initial abstract data types is studied. The resulting terminal co-algebras represent not only an implementation independent semantics of infinite objects such as streams, but also a suitable formal basis for object types in the sense of the object-oriented programming paradigm. Instances of object types may be interpreted as abstract automata with several state transition functions representing the methods of an object, and several output functions representing the attributes. By structuring the index set of the possibly infinite family of methods, and by structuring the output set, one can specify specific object types. For dealing simultaneously with complex data types and object types, it is not necessary to live within a cartesian closed category. In ccc's there are standard functional constructions for object types, but object types are not necessarily a higher-order construction. A world of data types and object types may be combined with the Rewriting Logic of Meseguer to obtain a formal basis for concurrent object systems.
6
Wojciech Penczek · Science of Computer Programming · 1990 · 4K citations
Report on the programming language Haskell
Paul Hudak, Simon Peyton Jones, Philip Wadler et al. · ACM SIGPLAN Notices · 1992 · 1K citations · Full text
Terminal coalgebras in well-founded set theory
Michael Barr · Theoretical Computer Science · 1993 · 269 citations
A logical theory of concurrent objects
José Meseguer · 1990 · 101 citations · Full text
A Categorical Programming Language
Tatsuya Hagino · arXiv (Cornell University) · 2020 · 101 citations · Full text
Computing, Computer Science, Algebra +13