<?xml version="1.0" encoding="UTF-8"?><xml><records><record><source-app name="Biblio" version="6.x">Drupal-Biblio</source-app><ref-type>17</ref-type><contributors><authors><author><style face="normal" font="default" size="100%">Manuel Bernardo Barbosa</style></author><author><style face="normal" font="default" size="100%">Alcino Cunha</style></author><author><style face="normal" font="default" size="100%">Jorge Sousa Pinto</style></author></authors></contributors><titles><title><style face="normal" font="default" size="100%">Recursion Patterns and Time-analysis</style></title><secondary-title><style face="normal" font="default" size="100%">SIGPLAN Notices</style></secondary-title></titles><dates><year><style  face="normal" font="default" size="100%">2005</style></year></dates><urls><related-urls><url><style face="normal" font="default" size="100%">https://haslab.uminho.pt/sites/default/files/alcino/files/recpta.pdf</style></url></related-urls></urls><number><style face="normal" font="default" size="100%">5</style></number><publisher><style face="normal" font="default" size="100%">ACM</style></publisher><volume><style face="normal" font="default" size="100%">40</style></volume><pages><style face="normal" font="default" size="100%">45–54</style></pages><language><style face="normal" font="default" size="100%">eng</style></language><abstract><style face="normal" font="default" size="100%">&lt;p&gt;This paper explores some ideas concerning the time-analysis of functional programs defined by instantiating typical recursion patterns such as folds, unfolds, and hylomorphisms. The concepts in this paper are illustrated through a rich set of examples in the Haskell programming language. We concentrate on unfolds and folds (also known as anamorphisms and catamorphisms respectively) of recursively defined types, as well as the more general hylomorphism pattern. For the latter, we use as case-studies two famous sorting algorithms, mergesort and quicksort. Even though time analysis is not compositional, we argue that splitting functions to expose the explicit construction of the recursion tree and its later consumption helps with this analysis.&lt;/p&gt;
</style></abstract><issue><style face="normal" font="default" size="100%">5</style></issue></record></records></xml>