Shapely Types and Shape Polymorphism

Shapely types separate data, represented by lists, from shape, or structure. This separation supports shape polymorphism, where operations are defined for arbitrary shapes, and shapely operations, for which the shape of the result is determined by that of the input, permitting static shape checking. They include both arrays and the usual algebraic types (of trees, graphs, etc.), and are closed under the formation of initial algebras.

[1]  S. Lack,et al.  Introduction to extensive and distributive categories , 1993 .

[2]  Richard S. Bird,et al.  Introduction to functional programming , 1988, Prentice Hall International series in computer science.

[3]  Gordon D. Plotkin,et al.  The category-theoretic solution of recursive domain equations , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[4]  Peter G. Harrison,et al.  Functional Programming , 1988 .

[5]  J. R. B. Cockett List-arithmetic distributive categories: Locoi , 1990 .

[6]  C. Barry Jay,et al.  Tail Recursion Through Universal Invariants , 1993, Theor. Comput. Sci..