{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:06:23Z","timestamp":1763467583518},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"3","license":[{"start":{"date-parts":[[2001,5,31]],"date-time":"2001-05-31T00:00:00Z","timestamp":991267200000},"content-version":"unspecified","delay-in-days":30,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2001,5]]},"abstract":"<jats:p>Many polyvariant program analyses have been studied in the 1990s, including <jats:italic>k<\/jats:italic>-CFA, polymorphic splitting, and the cartesian product algorithm. The idea of polyvariance is to analyze \nfunctions more than once and thereby obtain better precision for each call site. In this paper \nwe present an equivalence theorem which relates a co-inductively-defined family of polyvariant flow analyses and a standard type system. The proof embodies a way of understanding \npolyvariant flow information in terms of union and intersection types, and, conversely, a way \nof understanding union and intersection types in terms of polyvariant flow information. We \nuse the theorem as basis for a new flow-type system in the spirit of the \u03bb<jats:sup>CIL<\/jats:sup>-calculus of Wells, \nDimock, Muller and Turbak, in which types are annotated with flow information. A flow-type \nsystem is useful as an interface between a flow-analysis algorithm and a program optimizer. \nDerived systematically via our equivalence theorem, our flow-type system should be a good \ninterface to the family of polyvariant analyses that we study.<\/jats:p>","DOI":"10.1017\/s095679680100394x","type":"journal-article","created":{"date-parts":[[2003,10,16]],"date-time":"2003-10-16T10:21:12Z","timestamp":1066299672000},"page":"263-317","source":"Crossref","is-referenced-by-count":26,"title":["From Polyvariant flow information to intersection and union types"],"prefix":"10.1017","volume":"11","author":[{"given":"JENS","family":"PALSBERG","sequence":"first","affiliation":[]},{"given":"CHRISTINA","family":"PAVLOPOULOU","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2001,5,31]]},"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S095679680100394X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,3,29]],"date-time":"2019-03-29T19:34:02Z","timestamp":1553888042000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S095679680100394X\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001,5]]},"references-count":0,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2001,5]]}},"alternative-id":["S095679680100394X"],"URL":"https:\/\/doi.org\/10.1017\/s095679680100394x","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2001,5]]}}}