Notice

This is not the latest version of this item. The latest version can be found at:https://dspace.mit.edu/handle/1721.1/128880.2

Show simple item record

dc.contributor.authorChlipala, Adam
dc.contributor.authorDelaware, Benjamin
dc.contributor.authorDuchovni, Samuel
dc.contributor.authorGross, Jason S.
dc.contributor.authorPit-Claudel, Clement Francois
dc.contributor.authorSuriyakarn, Sorawit
dc.contributor.authorWang, Peng
dc.date.accessioned2020-12-21T20:37:27Z
dc.date.available2020-12-21T20:37:27Z
dc.date.issued2017-05
dc.date.submitted2017-03
dc.identifier.urihttps://hdl.handle.net/1721.1/128880
dc.description.abstractFunctionality of software systems has exploded in part because of advances in programming language support for packaging reusable functionality as libraries. Developers benefit from the uniformity that comes of exposing many interfaces in the same language, as opposed to stringing together hodgepodges of command-line tools. Domain-specific languages may be viewed as an evolution of the power of reusable interfaces, when those interfaces become so flexible as to deserve to be called programming languages. However, common approaches to domain-specific languages give up many of the hard-won advantages of library-building in a rich common language, and even the traditional approach poses significant challenges in learning new APIs. We suggest that instead of continuing to develop new domain-specific languages, our community should embrace library-based ecosystems within very expressive languages that mix programming and theorem proving. Our prototype framework Fiat, a library for the Coq proof assistant, turns languages into easily comprehensible libraries via the key idea of modularizing functionality and performance away from each other, the former via macros that desugar into higher-order logic and the latter via optimization scripts that derive efficient code from logical programs.en_US
dc.description.sponsorshipNSF (Grants CCF-1253229, CCF-1512611 and CCF-1521584)en_US
dc.description.sponsorshipDARPA (Contracts FA8750-12-2-0293 and FA8750-16-C-0007)en_US
dc.language.isoen
dc.publisherDagstuhl Researchen_US
dc.relation.isversionofhttp://dx.doi.org/10.4230/LIPIcs.SNAPL.2017.3en_US
dc.rightsCreative Commons Attribution 4.0 International licenseen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/en_US
dc.sourceDROPSen_US
dc.titleThe end of history? Using a proof assistant to replace language design with library designen_US
dc.typeArticleen_US
dc.identifier.citationChlipala, Adam et al. "The end of history? Using a proof assistant to replace language design with library design." 2nd Summit on Advances in Programming Languages, May 2017, Asilomar, California, Dagstuhl Research, May 2017. © 2017 The Authorsen_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.relation.journal2nd Summit on Advances in Programming Languagesen_US
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2019-05-13T17:46:41Z
dspace.date.submission2019-05-13T17:46:42Z
mit.metadata.statusAuthority Work and Publication Information Needed


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

VersionItemDateSummary

*Selected version