中文
相关论文

相关论文: From Push/Enter to Eval/Apply by Program Transform…

200 篇论文

We present a new, uniform semantics for Haskell-style overloading. We realize our approach in a new core language, System F$_\mathrm{D}$, whose metatheory we mechanize in the Lean4 interactive theorem prover. System F$_\mathrm{D}$ is…

编程语言 · 计算机科学 2025-07-23 Andrew Marmaduke , Apoorv Ingle , J. Garrett Morris

In functional logic programs, rules are applicable independently of textual order, i.e., any rule can potentially be used to evaluate an expression. This is similar to logic languages and contrary to functional languages, e.g., Haskell…

编程语言 · 计算机科学 2016-07-06 Sergio Antoy , Michael Hanus

Applicative bisimulation is a coinductive technique to check program equivalence in higher-order functional languages. It is known to be sound, and sometimes complete, with respect to context equivalence. In this paper we show that…

计算机科学中的逻辑 · 计算机科学 2015-06-23 Ugo Dal Lago , Alessandro Rioli

Rank and select are fundamental operations in succinct data structures, that is, data structures whose space consumption approaches the information-theoretic optimal. The performance of these primitives is central to the overall performance…

数据结构与算法 · 计算机科学 2017-06-06 Prashant Pandey , Michael A. Bender , Rob Johnson

In recent years we have explored using Haskell alongside a traditional mathematical formalism in our large-enrolment university course on topics including logic and formal languages, aiming to offer our students a programming perspective on…

计算机与社会 · 计算机科学 2022-08-10 Matthew Farrugia-Roberts , Bryn Jeffries , Harald Søndergaard

Language model-based code completion models have quickly grown in use, helping thousands of developers write code in many different programming languages. However, research on code completion models typically focuses on imperative languages…

计算与语言 · 计算机科学 2024-03-25 Tim van Dam , Frank van der Heijden , Philippe de Bekker , Berend Nieuwschepen , Marc Otten , Maliheh Izadi

We report on an experience to support multiple views of programs to solve the tyranny of the dominant decomposition in a functional setting. We consider two possible architectures in Haskell for the classical example of the expression…

软件工程 · 计算机科学 2011-02-01 Julien Cohen , Rémi Douence

Program equivalence in linear contexts, where programs are used or executed exactly once, is an important issue in programming languages. However, existing techniques like those based on bisimulations and logical relations only target at…

编程语言 · 计算机科学 2011-10-12 Yuxin Deng , Yu Zhang

We argue that the implementation and verification of compilers for functional programming languages are greatly simplified by employing a higher-order representation of syntax known as Higher-Order Abstract Syntax or HOAS. The underlying…

编程语言 · 计算机科学 2017-02-14 Yuting Wang

We recommend a programming construct - availability check - for programs that need to automatically adjust to presence or absence of segments of code. The idea is to check the existence of a valid definition before a function call is…

编程语言 · 计算机科学 2007-05-23 Joy Mukherjee , Srinidhi Varadarajan

Many tools used to process programs, like compilers, analyzers, or verifiers, perform transformations on their intermediate program representation, like abstract syntax trees. Implementing such program transformations is a non-trivial task,…

编程语言 · 计算机科学 2026-01-21 Michael Hanus , Steven Libby

This paper develops a dynamic semantics for incomplete functional programs, starting from the static semantics developed in recent work on Hazelnut. We model incomplete functional programs as expressions with holes, with empty holes…

编程语言 · 计算机科学 2018-11-22 Cyrus Omar , Ian Voysey , Ravi Chugh , Matthew A. Hammer

We propose a method that transforms a C program manipulating containers using low-level pointer statements into an equivalent program where the containers are manipulated via calls of standard high-level container operations like push_back…

编程语言 · 计算机科学 2015-10-28 Kamil Dudka , Lukáš Holík , Petr Peringer , Marek Trtík , Tomáš Vojnar

This article shows a correspondence between abstract interpretation of imperative programs and the refinement calculus: in the refinement calculus, an abstract interpretation of a program is a specification which is a function. This…

编程语言 · 计算机科学 2014-06-16 Arnaud Spiwack

We present a semi-automated framework to construct and reason about programs in a deeply-embedded while-language. The while-language we consider is a simple computation model that can simulate (and be simulated by) Turing Machines with a…

计算机科学中的逻辑 · 计算机科学 2025-04-22 Kevin Kappelmann , Fabian Huch , Lukas Stevens , Mohammad Abdulaziz

A program is characterized by its input model, and a formal input model can be of use in diverse areas including vulnerability analysis, reverse engineering, fuzzing and software testing, clone detection and refactoring. Unfortunately,…

软件工程 · 计算机科学 2019-12-13 Rahul Gopinath , Björn Mathis , Andreas Zeller

If a code base is so big and complicated that complete mechanical verification is intractable, can we still apply and benefit from verification methods? We show that by allowing a deliberate mechanized formalization gap we can shrink and…

编程语言 · 计算机科学 2019-10-28 Antal Spector-Zabusky , Joachim Breitner , Yao Li , Stephanie Weirich

This report outlines an approach to learning generative models from data. We express models as probabilistic programs, which allows us to capture abstract patterns within the examples. By choosing our language for programs to be an…

人工智能 · 计算机科学 2011-10-27 Irvin Hwang , Andreas Stuhlmüller , Noah D. Goodman

Several abstract machines that operate on symbolic input alphabets have been proposed in the last decade, for example, symbolic automata or lattice automata. Applications of these types of automata include software security analysis and…

形式语言与自动机理论 · 计算机科学 2019-10-18 Andreas Stahlbauer

In this functional pearl, we examine the use of definitional interpreters as a basis for abstract interpretation of higher-order programming languages. As it turns out, definitional interpreters, especially those written in monadic style,…

编程语言 · 计算机科学 2017-07-18 David Darais , Nicholas Labich , Phuc C. Nguyen , David Van Horn