English
Related papers

Related papers: Have Object-Oriented Languages Missed a Trick with…

200 papers

A circular program creates a data structure whose computation depends upon itself or refers to itself. The technique is used to implement the classic data structures circular and doubly-linked lists, threaded trees and queues, in a…

Programming Languages · Computer Science 2024-03-05 Lloyd Allison

A paradox of requirements specifications as dominantly practiced in the industry is that they often claim to be object-oriented (OO) but largely rely on procedural (non-OO) techniques. Use cases and user stories describe functional flows,…

Software Engineering · Computer Science 2023-05-11 Maria Naumcheva , Sophie Ebersold , Alexandr Naumchev , Jean-Michel Bruel , Florian Galinier , Bertrand Meyer

An oblivious computation is one that is free of direct and indirect information leaks, e.g., due to observable differences in timing and memory access patterns. This paper presents Lambda Obliv, a core language whose type system enforces…

Programming Languages · Computer Science 2019-11-14 David Darais , Ian Sweet , Chang Liu , Michael Hicks

Functional programming languages are particularly well-suited for building automated reasoning systems, since (among other reasons) a logical term is well modeled by an inductive type, traversing a term can be implemented generically as a…

Programming Languages · Computer Science 2020-06-02 Daniel Selsam , Simon Hudon , Leonardo de Moura

Requirements engineering plays a critical role in developing software systems. One of the most difficult tasks in this process is identifying functional requirements. A critical problem in many projects is missing requirements until late in…

Software Engineering · Computer Science 2020-04-02 Sabah Al-Fedaghi

This study compares the impact of adopting object-oriented programming (OOP) or functional programming (FP) on the architectural characteristics of software systems. For that, it examines the design and implementation of a Digital Wallet…

Software Engineering · Computer Science 2025-12-09 Briza Mel Dias de Sousa , Renato Cordeiro Ferreira , Alfredo Goldman

Object-oriented programming laws have been proposed in the context of languages that are not combined with a behavioral interface specification language (BISL). The strong dependence between source-code and interface specifications may…

Logic in Computer Science · Computer Science 2010-04-08 Gabriel Falconieri Freitas , Márcio Cornélio , Tiago Massoni , Rohit Gheyi

Passive documents and active programs now widely comingle. Document languages include Turing-complete programming elements, and programming languages include sophisticated document notations. However, there are no formal foundations that…

Programming Languages · Computer Science 2023-11-15 Will Crichton , Shriram Krishnamurthi

Multi-valued functions are common in computable analysis (built upon the Type 2 Theory of Effectivity), and have made an appearance in complexity theory under the moniker search problems leading to complexity classes such as PPAD and PLS…

Computational Complexity · Computer Science 2015-12-31 Arno Pauly

Up to now, for efficiency reasons cryptographic algorithm has been written in an imperative language. But to get acquaintance with a functional programming language a question arises: functional programming offers some new for secure…

Cryptography and Security · Computer Science 2010-03-13 Gyöngyvér Márton

Aspect-Oriented Programming (AOP) improves modularity by encapsulating crosscutting concerns into aspects. Some mechanisms to compose aspects allow invasiveness as a mean to integrate concerns. Invasiveness means that AOP languages have…

Programming Languages · Computer Science 2009-04-20 Freddy Munoz , Benoit Baudry , Olivier Barais

This paper presents the Functional Machine Calculus (FMC) as a simple model of higher-order computation with "reader/writer" effects: higher-order mutable store, input/output, and probabilistic and non-deterministic computation. The FMC…

Programming Languages · Computer Science 2023-06-22 Willem Heijltjes

The elementary affine lambda-calculus was introduced as a polyvalent setting for implicit computational complexity, allowing for characterizations of polynomial time and hyperexponential time predicates. But these results rely on type…

Logic in Computer Science · Computer Science 2019-08-15 Lê Thành Dũng Nguyen

Programs with control are usually modeled using lambda calculus extended with control operators. Instead of modifying lambda calculus, we consider a different model of computation. We introduce continuation calculus, or CC, a deterministic…

Logic in Computer Science · Computer Science 2013-09-06 Bram Geron , Herman Geuvers

Graphs are a generalized concept that encompasses more complex data structures than trees, such as difference lists, doubly-linked lists, skip lists, and leaf-linked trees. Normally, these structures are handled with destructive assignments…

Programming Languages · Computer Science 2022-09-13 Jin Sano , Naoki Yamamoto , Kazunori Ueda

Language transformations are algorithms that take a language specification in input, and return the language specification modified. Language transformations are useful for automatically adding features such as subtyping to programming…

Programming Languages · Computer Science 2021-08-25 Matteo Cimini , Benjamin Mourad

CalcuList (Calculator with List manipulation), is an educational language for teaching functional programming extended with some imperative and side-effect features, which are enabled under explicit request by the programmer. In addition to…

Programming Languages · Computer Science 2018-02-20 Domenico Sacca' , Angelo Furfaro

Recent large language models (LLMs) have demonstrated remarkable generalization abilities in mathematics and logical reasoning tasks. Prior research indicates that LLMs pre-trained with programming language data exhibit high mathematical…

Computation and Language · Computer Science 2025-07-01 Fumiya Uchiyama , Takeshi Kojima , Andrew Gambardella , Qi Cao , Yusuke Iwasawa , Yutaka Matsuo

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive…

Logic in Computer Science · Computer Science 2019-03-14 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

To support the understanding of declarative probabilistic programming languages, we introduce a lambda-calculus with a fair binary probabilistic choice that chooses between its arguments with equal probability. The reduction strategy of the…

Logic in Computer Science · Computer Science 2022-05-31 David Sabel , Manfred Schmidt-Schauß , Luca Maio