The End of History? Using a Proof Assistant to Replace Language Design with Library Design

نویسندگان

  • Adam Chlipala
  • Benjamin Delaware
  • Samuel Duchovni
  • Jason Gross
  • Clément Pit-Claudel
  • Sorawit Suriyakarn
  • Peng Wang
  • Katherine Ye
چکیده

Functionality of software systems has exploded in part because of advances in programminglanguage 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. 1998 ACM Subject Classification F.3.1 Specifying and Verifying and Reasoning about Programs— Mechanical Verification, F.4.1 Mathematical Logic—Mechanical Theorem Proving, Logic and Constraint Programming, I.2.2 Automatic Programming—Program Synthesis

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Goals, Dimensions, and Design of Program Investigation

If we are keen to boost the process of language learning, we need to study every aspect and component of our course. To this end, we carry out an investigation in which every detail of the course is put under microscope. Assessment of a course is an attempt in which different type of information is gathered systematically in order to study the working of a language instruction program. Certainl...

متن کامل

Growing a Proof Assistant

Theoreticians often use sophisticated notation to communicate and reason about key ideas in their theories and models. Notation is often domain-specific or even invented on-the-fly when creating a new theory or model. Proof assistants aid theoreticians by rigorously checking formal models, but have poor support for allowing users to conveniently define and use sophisticated notation. For exampl...

متن کامل

Procedural Modeling as an Analytical Tool for 3D Survey in Urban Design Assessment

This paper examines procedural modeling as a tool for 3D modeling creation. Procedural modeling historically has been used for 3D visualization of natural features, but with the release of the software CityEngine in 2008, the technology can easily be adopted also in problem domains dealing with urban environments. Then, we will examine and compare two types of modeling, traditional and proc...

متن کامل

The effect of Persian language and literature on India, from Gūrkāniyān era to the end of Aurangzeb (931-1118 AH)

Iranians cultural interaction with Indians has a long history. The proximity of Old Persian and Avestan language ​​to the Sanskrit language also goes back to these historical interactions. From the arrival of Islam to India until the end of the Gūrkāniyān government, about thirty-two Muslim dynasties governed in India. Most of these governments tried to spread the Persian language and literatur...

متن کامل

Design and performance analysis of a seismic grade resonance nano accelerometer

In this paper, design and performance analysis of a resonance nanosensor for earthquake low frequency geoacoustic waves detection is proposed. The model comprises of a proof mass suspended to the substrate, and a nanobeam attached to the intersection of the proof mass to the substrate. The nanobeam could be cosidered as a clamped-clamped nanoresonator actuated electrostartically. The induced ac...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017