![]() ![]() To ensure that a nested list or a nested dictionary is respectively a list or dictionary in the first place, the condition t( p) = ⊥ must be explicitly required to hold for the empty pathname p. Similar relationship can be observed between nested dictionaries (or lists) and Mealy machines, see Nested dictionary. Note that (b) can be seen as a special case of (c) – a sequence is just a map from an initial segment of the set N \mathbb and with all states reachable is bisimilar to a rose tree in the Haskell sense, see the example of a non-well-founded rose tree. Well-founded rose trees can be defined by a recursive construction of entities of the following types:Ī base entity is an element of a predefined ground set V of values (the "tip"-values ).Ī branching entity (alternatively, a forking entity or a forest entity) is either of the following sub-types:Ī partial map from a predefined set Σ of names to entities.Īny of (a)(b)(c) can be empty. We shall call such trees rose trees, a literal translation of rhododendron (Greek ῥόδον = rose, δένδρον = tree), because of resemblance to the habitus of this shrub, except that the latter does not grow upside-down on the Northern hemisphere. The name "rose tree" was coined by Lambert Meertens to evoke the similarly named, and similarly structured, common rhododendron. Apart from the multi-branching property, the most essential characteristic of rose trees is the coincidence of bisimilarity with identity: two distinct rose trees are never bisimilar. The term is mostly used in the functional programming community, e.g., in the context of the Bird–Meertens formalism. In computing, a rose tree is a term for the value of a tree data structure with a variable and unbounded number of branches per node. For the species of rhododendron, see Rhododendron maximum. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |