English
Related papers

Related papers: Toward Functionality Oriented Programming

200 papers

Twenty years ago, in an article titled "Covariance and contravariance: conflict without a cause", I argued that covariant and contravariant specialization of method parameters in object-oriented programming had different purposes and…

Programming Languages · Computer Science 2023-06-22 Giuseppe Castagna

High-level reversible programming languages are few and far between and in general offer only rudimentary abstractions from the details of the underlying machine. Modern programming languages offer a wide array of language constructs and…

Programming Languages · Computer Science 2017-07-26 Tue Haulund

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 Programming by Example, a system attempts to infer a program from input and output examples, generally by searching for a composition of certain base functions. Performing a naive brute force search is infeasible for even mildly involved…

Artificial Intelligence · Computer Science 2012-09-19 Aditya Krishna Menon , Omer Tamuz , Sumit Gulwani , Butler Lampson , Adam Tauman Kalai

We present a framework that takes a concurrent program composed of unsynchronized processes, along with a temporal specification of their global concurrent behaviour, and automatically generates a concurrent program with synchronization…

Logic in Computer Science · Computer Science 2012-07-05 Roopsha Samanta

Services are autonomous, self-describing, technology-neutral software units that can be described, published, discovered, and composed into software applications at runtime. Designing software services and composing services in order to…

Programming Languages · Computer Science 2012-08-24 Joakim Bjørk , Dave Clarke , Einar Broch Johnsen , Olaf Owe

We develop formal foundations for notions and mechanisms needed to support service-oriented computing. Our work builds on recent theoretical advancements in the algebraic structures that capture the way services are orchestrated and in the…

Logic in Computer Science · Computer Science 2017-01-11 Ionut Tutu , Jose Luiz Fiadeiro

Service Oriented Software Engineering is based on concepts and principles for constructing complex enterprise systems in which services as building block of the system, are distributed in large networks. The main goal of the service…

Software Engineering · Computer Science 2020-04-21 Mahdi Fahmideh , Jafar Habibi , Fereidoon Shams , Sedigheh Khoshnevis

In the past years, software reverse engineering dealt with source code understanding. Nowadays, it is levered to software requirements abstract level, supported by feature model notations, language independent, and simpler than the source…

Software Engineering · Computer Science 2019-04-30 Anas Alhamwieh , Said Ghoul

Cross-platform development solutions can help to make software available on different devices and platforms. But these are normally restricted to preconfigured platforms and consider that each individual solution is equal or similar to each…

Software Engineering · Computer Science 2021-05-04 Juliano Zanuzzio Blanco , Daniel Lucrédio

In machine learning (ML), researchers and engineers seem to be at odds. System implementers would prefer models to be declarative, with detailed type information and semantic restrictions that allow models to be optimised, rearranged and…

Programming Languages · Computer Science 2022-06-23 Michael Innes

Over the last two decades practically all object-oriented programming languages have introduced features that are well-known from functional programming languages. But many features that were introduced were fragmentary. In Java-TX we…

Programming Languages · Computer Science 2024-12-05 Martin Pluemicke

Context/Background: process and practice adoption is a key element in modern software process improvement initiatives, and many of them fail. Goal: this paper presents a preliminary version of a usability model for software development…

Software Engineering · Computer Science 2017-10-31 Diego Fontdevila , Marcela Genero , Alejandro Oliveros

Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on…

Logic in Computer Science · Computer Science 2011-12-01 Samson Abramsky

The semantics of assignment and mutual exclusion in concurrent and multi-core/multi-processor systems is presented with attention to low level architectural features in an attempt to make the presentation realistic. Recursive functions on…

Discrete Mathematics · Computer Science 2008-10-09 Victor Yodaiken

The notion of programming paradigms, with associated programming languages and methodologies, is a well established tenet of Computer Science pedagogy, enshrined in international curricula. However, this notion sits ill with Kuhn's classic…

Programming Languages · Computer Science 2020-02-17 Greg Michaelson

The defunctionalization translation that eliminates higher-order functions from programs forms a key part of many compilers. However, defunctionalization for dependently-typed languages has not been formally studied. We present the first…

Programming Languages · Computer Science 2023-04-11 Yulong Huang , Jeremy Yallop

Choice constructs are an important part of the language of logic programming, yet the study of their semantics has been a challenging task. So far, only two-valued semantics have been studied, and the different proposals for such semantics…

Artificial Intelligence · Computer Science 2024-08-01 Jesse Heyninck

The field of declarative stream programming (discrete time, clocked synchronous, modular, data-centric) is divided between the data-flow graph paradigm favored by domain experts, and the functional reactive paradigm favored by academics. In…

Programming Languages · Computer Science 2014-06-10 Baltasar Trancón y Widemann , Markus Lepper

Pattern-Oriented Analysis and Design (POAD) is the practice of building complex software by applying proven designs to specific problem domains. Although a great deal of research and practice has been devoted to formalizing existing design…

Software Engineering · Computer Science 2008-02-27 Jerry Overton