Journal:Informatica
Volume 10, Issue 1 (1999): Special Issue on Programming Theory, Information System Engineering, Software Engineering, and Artificial Intelligence, pp. 5–26
Abstract
In the mainstream categorical approach to typed (total) functional programming, datatypes are modelled as initial algebras and codatatypes as terminal coalgebras. The basic function definition schemes of iteration and coiteration are modelled by constructions known as catamorphisms and anamorphisms. Primitive recursion has been captured by a construction called paramorphisms. We draw attention to the dual construction of apomorphisms, and show on examples that primitive corecursion is a useful function definition scheme. We also put forward and study two novel constructions, viz., histomorphisms and futumorphisms, that capture the powerful schemes of course-of-value iteration and its dual, respectively, and argue that even these are helpful.
Journal:Informatica
Volume 9, Issue 1 (1998): Special Issue on Programming Theory, Information System Engineering, Software Engineering, and Artificial Intelligence, pp. 85–105
Abstract
Attributed automaton (AA) is a formalism for conceptual knowledge specification using regular syntax with attributes representing contextual relations as well as semantic properties of concepts. AA can be treated as a generalization of a finite automaton with attributes and computational relations attached to states and transitions respectively. In this paper we develop a new specification method for AA based on functional combinators. It allows modular specification of AA, enjoys good algebraic properties and is extendable for different kind of attributed automata.