This article relies largely or entirely on a single source. (March 2024) |
In the field of compiler implementation in computer science, constructed product result analysis (or CPR analysis) is a static analysis that determines which functions in a given program can return multiple results in an efficient manner. Typically, this means returning multiple results in a register (as opposed to returning a pointer to a tuple allocated on the heap whose components are the function's multiple return values.)
CPR analysis was introduced in the context of compiling Haskell (a lazy functional language) and is implemented in the Glasgow Haskell Compiler. It may be applicable to other programming languages as well.[1]
See also
editReferences
edit- ^ Baker-Finch, Clem; Kevin Glynn; Simon Peyton Jones (March 2004). "Constructed Product Result Analysis for Haskell". Journal of Functional Programming. 14 (2): 211–245. CiteSeerX 10.1.1.6.1903. doi:10.1017/S0956796803004751. S2CID 1246439. Retrieved 2007-10-28.