English
Related papers

Related papers: Immutability and Design Patterns in Ruby

200 papers

Many variability management techniques rely on sophisticated language extension or tools to support it. While this can provide dedicated syntax and operational mechanism but it struggling practical adaptation for the cost of adapting new…

Programming Languages · Computer Science 2021-09-15 Hiun Kim

Inductive programming (IP) is a field whose main goal is synthesising programs that respect a set of examples, given some form of background knowledge. This paper is concerned with a subfield of IP, inductive functional programming (IFP).…

Programming Languages · Computer Science 2020-11-19 Andrei Diaconu

Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise,…

Software Engineering · Computer Science 2016-06-03 Anas Shatnawi , Abdelhak Seriai , Houari Sahraoui , Zakarea Al-Shara

Ownership and borrowing systems, designed to enforce safe memory management without the need for garbage collection, have been brought to the fore by the Rust programming language. Rust also aims to bring some guarantees offered by…

Programming Languages · Computer Science 2024-10-23 Danielle Marshall , Dominic Orchard

The universal object oriented languages made programming more simple and efficient. In the article is considered possibilities of using similar methods in computer algebra. A clear and powerful universal language is useful if particular…

Programming Languages · Computer Science 2016-08-31 Alexander Yu. Vlasov

Machine learning as a discipline has seen an incredible surge of interest in recent years due in large part to a perfect storm of new theory, superior tooling, renewed interest in its capabilities. We present in this paper a framework named…

Incremental computations attempt to exploit input similarities over time, reusing work that is unaffected by input changes. To maximize this reuse in a general-purpose programming setting, programmers need a mechanism to identify dynamic…

Programming Languages · Computer Science 2021-03-24 Matthew A. Hammer , Jana Dunfield , Kyle Headley , Monal Narasimhamurthy , Dimitrios J. Economou

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 usual advantages put forward for including nullability declarations in the type systems of programming languages are that they improve program reliability or performance. But there is another, entirely different, reason for doing so. In…

Programming Languages · Computer Science 2011-08-25 William Harrison , Tim Walsh , Paul Biggar

Largely known for attack scenarios, code reuse techniques at a closer look reveal properties that are appealing also for program obfuscation. We explore the popular return-oriented programming paradigm under this light, transforming program…

Cryptography and Security · Computer Science 2021-08-12 Pietro Borrello , Emilio Coppa , Daniele Cono D'Elia

This paper presents an empirical study of the software reuse activity by expert designers in the context of object-oriented design. Our study focuses on the three following aspects of reuse : (1) the interaction between some design…

Human-Computer Interaction · Computer Science 2016-08-14 Jean-Marie Burkhardt , Françoise Détienne

Although object-orientation has been around for several decades, its key concept abstraction has not been exploited for proper application of object-orientation in other phases of software development than the implementation phase. We…

Software Engineering · Computer Science 2010-10-18 B. Diertens

Systematically developing high--quality reusable software components is a difficult task and requires careful design to find a proper balance between potential reuse, functionalities and ease of implementation. Extendibility is an important…

Robotics · Computer Science 2021-06-30 Ali Paikan , Vadim Tikhanoff , Giorgio Metta , Lorenzo Natale

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

A system, which implements persistent objects, has to provide different opportunities to change the objects in arbitrary ways during their existence. A traditional realization of OO paradigm in modern programming systems has fundamental…

Programming Languages · Computer Science 2013-04-12 Evgeniy Grigoriev

The use of object oriented techniques and methodologies for the design of real-time control systems appear to be necessary in order to deal with the increasing complexity of such systems. Recently many object-oriented methods have been used…

Systems and Control · Computer Science 2015-08-26 Qimin Gao , Lyndon J Brown , Luiz Fernando Capretz

Constraint-logic object-oriented programming, for example using Muli, facilitates the integrated development of business software that occasionally involves finding solutions to constraint-logic problems. The availability of object-oriented…

Programming Languages · Computer Science 2019-07-03 Jan C. Dageförde

Refinement types are a popular way to specify and reason about key program properties. In this paper, we introduce RTR, a new system that adds refinement types to Ruby. RTR is built on top of RDL, a Ruby type checker that provides basic…

Programming Languages · Computer Science 2017-11-28 Milod Kazerounian , Niki Vazou , Austin Bourgerie , Jeffrey S. Foster , Emina Torlak

We formally define an elegant multi-paradigm unification of Functional Reactive Programming, Actor Systems, and Object-Oriented Programming. This enables an intuitive form of declarative programming, harvesting the power of concurrency…

Programming Languages · Computer Science 2021-01-11 N. Webster , M. Servetto

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi