Show simple item record

dc.contributor.authorMcDermott, Dylanen
dc.contributor.authorMycroft, Alanen
dc.date.accessioned2018-09-08T06:34:35Z
dc.date.available2018-09-08T06:34:35Z
dc.date.issued2018-01-01en
dc.identifier.issn2299-1093
dc.identifier.urihttps://www.repository.cam.ac.uk/handle/1810/279917
dc.description.abstractEffect systems refine types with information about the behaviour of programs. They have been used for many purposes, such as optimizing programs, determining resource usage, and finding bugs. So far, however, work on effect systems has largely concentrated on call-by-value languages. We consider the problem of designing an effect system for a lazy language. This is more challenging because it depends on the ability to locate the first use of each variable. Coeffect systems, which track contextual requirements of programs, provide a method of doing this. We describe how to track variable usage in a coeffect system that can be instantiated for different reduction strategies, including call-by-need. We then add effects to the result, allowing work that has been done on effect systems for call-by-value languages to be applied to lazy languages.
dc.publisherDe Gruyter
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
dc.rights.urihttps://creativecommons.org/licenses/by-nc-nd/4.0/
dc.titleCall-by-need effects via coeffectsen
dc.typeArticle
prism.endingPage108
prism.issueIdentifier1en
prism.publicationDate2018en
prism.publicationNameOpen Computer Scienceen
prism.startingPage93
prism.volume8en
dc.identifier.doi10.17863/CAM.27285
dcterms.dateAccepted2018-06-06en
rioxxterms.versionofrecord10.1515/comp-2018-0009en
rioxxterms.licenseref.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/en
rioxxterms.licenseref.startdate2018-01-01en
dc.contributor.orcidMcDermott, Dylan [0000-0002-6705-1449]
dc.contributor.orcidMycroft, Alan [0000-0001-7013-8572]
dc.identifier.eissn2299-1093
rioxxterms.typeJournal Article/Reviewen
pubs.funder-project-idEPSRC (EP/N509620/1)


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
Except where otherwise noted, this item's licence is described as Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)