A short cut to parallelization theorems

Akimasa Morihata

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Citations (Scopus)


The third list-homomorphism theorem states that if a function is both foldr and foldl, it has a divide-and-conquer parallel implementation as well. In this paper, we develop a theory for obtaining such parallelization theorems. The key is a new proof of the third list-homomorphism theorem based on shortcut deforestation. The proof implies that there exists a divide-and-conquer parallel program of the form of h (x 'merge' y) = h1 × ⊙ h 2 y, where h is the subject of parallelization, merge is the operation of integrating independent substructures, h1 and h 2 are computations applied to substructures, possibly in parallel, and ⊙ merges the results calculated for substructures, if (i) h can be specified by two certain forms of iterative programs, and (ii) merge can be implemented by a function of a certain polymorphic type. Therefore, when requirement (ii) is fulfilled, h has a divide-and-conquer implementation if h has two certain forms of implementations. We show that our approach is applicable to structure-consuming operations by catamorphisms (folds), structure-generating operations by anamorphisms (unfolds), and their generalizations called hylomorphisms.

Original languageEnglish
Title of host publicationICFP 2013 - Proceedings of the 2013 ACM SIGPLAN International Conference on Functional Programming
Number of pages12
Publication statusPublished - 2013 Nov 12
Event2013 18th ACM SIGPLAN International Conference on Functional Programming, ICFP 2013 - Boston, MA, United States
Duration: 2013 Sep 252013 Sep 27

Publication series

NameProceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP


Other2013 18th ACM SIGPLAN International Conference on Functional Programming, ICFP 2013
CountryUnited States
CityBoston, MA


  • Divide-and-conquer parallelism
  • Shortcut deforestation
  • Third list-homomorphism theorem

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'A short cut to parallelization theorems'. Together they form a unique fingerprint.

Cite this