English
Related papers

Related papers: Views, Program Transformations, and the Evolutivit…

200 papers

The fact that Applicative type class allows one to express simple parsers in a variable-less combinatorial style is well appreciated among Haskell programmers for its conceptual simplicity, ease of use, and usefulness for semi-automated…

Programming Languages · Computer Science 2019-05-28 Jan Malakhovski , Sergei Soloviev

We study one dimension in program evolution, namely the evolution of the datatype declarations in a program. To this end, a suite of basic transformation operators is designed. We cover structure-preserving refactorings, but also…

Programming Languages · Computer Science 2009-09-29 Jan Kort , Ralf Laemmel

Visual programming, a modular and generalizable paradigm, integrates different modules and Python operators to solve various vision-language tasks. Unlike end-to-end models that need task-specific data, it advances in performing visual…

Computer Vision and Pattern Recognition · Computer Science 2024-08-06 Minghe Gao , Juncheng Li , Hao Fei , Liang Pang , Wei Ji , Guoming Wang , Zheqi Lv , Wenqiao Zhang , Siliang Tang , Yueting Zhuang

Refactoring is a constant activity in software development and maintenance. Scale and maintain software systems are based on code refactoring. However, this process is still labor intensive, as it requires programmers to analyze the…

Programming with versions is a paradigm that allows a program to use multiple versions of a module so that the programmer can selectively use functions from both older and newer versions of a single module. Previous work formalized…

Programming Languages · Computer Science 2024-03-19 Yudai Tanabe , Luthfan Anshar Lubis , Tomoyuki Aotani , Hidehiko Masuhara

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…

Computers and Society · Computer Science 2022-08-10 Matthew Farrugia-Roberts , Bryn Jeffries , Harald Søndergaard

Like conventional software projects, projects in model-driven software engineering require adequate management of multiple versions of development artifacts, importantly allowing living with temporary inconsistencies. In the case of…

Software Engineering · Computer Science 2023-01-03 Matthias Barkowsky , Holger Giese

The expression problem describes how most types can easily be extended with new ways to produce the type or new ways to consume the type, but not both. When abstract syntax trees are defined as an algebraic data type, for example, they can…

Programming Languages · Computer Science 2024-03-12 David Binder , Ingo Skupin , Tim Süberkrüb , Klaus Ostermann

In the logic programming paradigm, it is difficult to develop an elegant solution for generating distinguishing formulae that witness the failure of open-bisimilarity between two pi-calculus processes; this was unexpected because the…

Logic in Computer Science · Computer Science 2017-06-01 Ki Yung Ahn , Ross Horne , Alwen Tiu

Vision encoders are increasingly used in modern applications, from vision-only models to multimodal systems such as vision-language models. Despite their remarkable success, it remains unclear how these architectures represent features…

Computer Vision and Pattern Recognition · Computer Science 2025-06-10 Eduard Allakhverdov , Dmitrii Tarasov , Elizaveta Goncharova , Andrey Kuznetsov

Context: Reynolds showed us how to use continuation-passing style and defunctionalization to transform a recursive interpreter for a language into an abstract machine for programs in that language. The same techniques explain other…

Programming Languages · Computer Science 2021-11-23 Jeremy Gibbons

We study the notion of extensibility in functional data types, as a new approach to the problem of decorating abstract syntax trees with additional sets of information. We observed the need for such extensibility while redesigning the data…

Programming Languages · Computer Science 2016-10-18 Shayan Najd , Simon Peyton Jones

Many problems in Computer Vision can be reduced to either working around a known transform, or given a model for the transform computing the inverse problem of the transform itself. We will look at two ways of working with the matrix $A$…

Computer Vision and Pattern Recognition · Computer Science 2022-12-06 Burak Bayramli

Practical optimization problems may contain different kinds of difficulties that are often not tractable if one relies on a particular optimization method. Different optimization approaches offer different strengths that are good at…

Neural and Evolutionary Computing · Computer Science 2024-07-08 Ankur Sinha , Dhaval Pujara , Hemant Kumar Singh

Refinement Reflection turns your favorite programming language into a proof assistant by reflecting the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses of the function, the…

Programming Languages · Computer Science 2016-10-18 Niki Vazou , Ranjit Jhala

Transformer architectures have brought about fundamental changes to computational linguistic field, which had been dominated by recurrent neural networks for many years. Its success also implies drastic changes in cross-modal tasks with…

Computer Vision and Pattern Recognition · Computer Science 2021-11-10 Andrew Shin , Masato Ishii , Takuya Narihira

Software is typically modeled from different viewpoints such as structural view, behavioral view and functional view. Few existing works can be considered as applying multi-view retrieval approaches. A number of important issues regarding…

Software Engineering · Computer Science 2014-02-04 Hamza Onoruoiza Salami , Moataz Ahmed

We give a relational and a weakest precondition semantics for "knowledge-based programs", i.e., programs that restrict observability of variables so as to richly express changes in the knowledge of agents who can or cannot observe said…

Logic in Computer Science · Computer Science 2022-07-07 Francesco Belardinelli , Ioana Boureanu , Vadim Malvone , Solofomampionona Fortunat Rajaona

Liquid Haskell's refinement-reflection feature augments the Haskell language with theorem proving capabilities, allowing programmers to retrofit their existing code with proofs. But many of these proofs require routine, boilerplate code…

Programming Languages · Computer Science 2017-08-09 Ryan Scott , Vikraman Choudhury , Ryan Newton , Niki Vazou , Ranjit Jhala

We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation…

Logic in Computer Science · Computer Science 2011-11-09 Krzysztof R. Apt , Frank S. de Boer , Ernst-Ruediger Olderog , Stijn de Gouw