MIT Libraries homeMIT Libraries logoDSpace@MIT

MIT
View Item 
  • DSpace@MIT Home
  • MIT Open Access Articles
  • MIT Open Access Articles
  • View Item
  • DSpace@MIT Home
  • MIT Open Access Articles
  • MIT Open Access Articles
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

The end of history? Using a proof assistant to replace language design with library design

Author(s)
Chlipala, Adam; Delaware, Benjamin; Duchovni, Samuel; Gross, Jason S.; Pit-Claudel, Clement Francois; Suriyakarn, Sorawit; Wang, Peng; ... Show more Show less
Thumbnail
DownloadPublished version (536.0Kb)
Terms of use
Creative Commons Attribution 4.0 International license http://creativecommons.org/licenses/by-nc-nd/4.0/
Metadata
Show full item record
Abstract
Functionality 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.
Date issued
2017-05
URI
https://hdl.handle.net/1721.1/128880
Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Journal
2nd Summit on Advances in Programming Languages
Publisher
Dagstuhl Research
Citation
Chlipala, 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 Authors
Version: Final published version

Collections
  • MIT Open Access Articles

Browse

All of DSpaceCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

Login

Statistics

OA StatisticsStatistics by CountryStatistics by Department
MIT Libraries homeMIT Libraries logo

Find us on

Twitter Facebook Instagram YouTube RSS

MIT Libraries navigation

SearchHours & locationsBorrow & requestResearch supportAbout us
PrivacyPermissionsAccessibility
MIT
Massachusetts Institute of Technology
Content created by the MIT Libraries, CC BY-NC unless otherwise noted. Notify us about copyright concerns.