|
|
|
|
|
by mikhailfranco
2252 days ago
|
|
Here is an beautiful old paper about data structures built using a binary join operator, exploring the 16 possible outcomes for properties: unit, idempotent, associative, commutative. The resulting grid can be factored around set, bag, list and binary tree, with empty/non-empty variants. Then there is interaction of the structures with binary operators on the data elements themselves, giving a nice analysis of map, filter, fold (reduce) in functional programming. A.Bunkenburg, The Boom Hierarchy http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.... There is a rich literature if you chase the references back and forth, starting from Bird-Meertens Formalism (Squiggol), Hoogendijk, through Backhouse and Malcolm, to Meijer and McBride. |
|