English
Related papers

Related papers: Fungi: Typed incremental computation with names

200 papers

This paper presents PFLP, a library for probabilistic programming in the functional logic programming language Curry. It demonstrates how the concepts of a functional logic programming language support the implementation of a library for…

Programming Languages · Computer Science 2019-05-20 Sandra Dylus , Jan Christiansen , Finn Teegen

Several applications of slicing require a program to be sliced with respect to more than one slicing criterion. Program specialization, parallelization and cohesion measurement are examples of such applications. These applications can…

Programming Languages · Computer Science 2017-09-26 Prasanna Kumar K. , Amitabha Sanyal , Amey Karkare

We present a novel dependent linear type theory in which the multiplicity of some variable-i.e., the number of times the variable can be used in a program-can depend on other variables. This allows us to give precise resource annotations to…

Programming Languages · Computer Science 2026-05-20 Maximilian Doré

Taxonomies represent hierarchical relations between entities, frequently applied in various software modeling and natural language processing (NLP) activities. They are typically subject to a set of structural constraints restricting their…

Computation and Language · Computer Science 2023-09-06 Boqi Chen , Fandi Yi , Dániel Varró

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

Modular reasoning about class invariants is challenging in the presence of dependencies among collaborating objects that need to maintain global consistency. This paper presents semantic collaboration: a novel methodology to specify and…

Software Engineering · Computer Science 2014-05-08 Nadia Polikarpova , Julian Tschannen , Carlo A. Furia , Bertrand Meyer

Motivation: Automated bug detection in dynamically typed languages such as Python is essential for maintaining code quality. The lack of mandatory type annotations in such languages can lead to errors that are challenging to identify early…

Software Engineering · Computer Science 2025-01-17 Boqi Chen , José Antonio Hernández López , Gunter Mussbacher , Dániel Varró

Algorithms are ways of mapping problems to solutions. An algorithm is invertible precisely when this mapping is injective, such that the initial problem can be uniquely inferred from its solution. While invertible algorithms can be…

Programming Languages · Computer Science 2022-12-08 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

A ubiquitous computing environment consists of many resources that need to be identified by users and applications. Users and developers require some way to identify resources by human readable names. In addition, ubiquitous computing…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Yoo Chul Chung , Dongman Lee

Computer programs are often factored into pure components -- simple, total functions from inputs to outputs -- and components that may have side effects -- errors, changes to memory, parallel threads, abortion of the current loop, etc. We…

Computation and Language · Computer Science 2025-04-02 Dylan Bumford , Simon Charlow

Variable and function names are extremely important for program comprehension. It is therefore also important to study how developers select names. But controlled experiments on naming are hindered by the need to describe to experimental…

Software Engineering · Computer Science 2021-03-17 Omer Regev , Michael Soloveitchik , Dror G. Feitelson

We develop a rigorous, equation-free category-theoretic foundation for fungal organisation. A fungal organism is formalised as a functor from a category $\Env$ of structured environmental states and admissible transformations to a category…

Emerging Technologies · Computer Science 2026-03-03 Andrew Adamatzky

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

In functional programming, monads are supposed to encapsulate computations, effectfully producing the final result, but keeping to themselves the means of acquiring it. For various reasons, we sometimes want to reveal the internals of a…

Programming Languages · Computer Science 2012-02-15 Maciej Piróg , Jeremy Gibbons

When a new programming language appears, the syntax and intended behaviour of its programs need to be specified. The behaviour of each language construct can be concisely specified by translating it to fundamental constructs (funcons),…

Programming Languages · Computer Science 2023-08-22 Peter D. Mosses

Reasoning about the sensitivity of functions with respect to their inputs has interesting applications in various areas, such as differential privacy. In order to check and enforce sensitivity, several approaches have been developed,…

Programming Languages · Computer Science 2025-03-14 Damian Arquez , Matías Toro , Éric Tanter

In this paper, we show a new approach to transformations of an imperative program with function calls and global variables into a logically constrained term rewriting system. The resulting system represents transitions of the whole…

Logic in Computer Science · Computer Science 2019-02-25 Yoshiaki Kanazawa , Naoki Nishida

Continuation Calculus (CC), introduced by Geron and Geuvers, is a simple foundational model for functional computation. It is closely related to lambda calculus and term rewriting, but it has no variable binding and no pattern matching. It…

Logic in Computer Science · Computer Science 2014-09-12 Herman Geuvers , Wouter Geraedts , Bram Geron , Judith van Stegeren

We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic…

Programming Languages · Computer Science 2022-02-25 Giuseppe Castagna , Victor Lanvin , Mickaël Laurent , Kim Nguyen

Designing programming languages that enable intuitive and safe manipulation of data structures is a critical research challenge. Conventional destructive memory operations using pointers are complex and prone to errors. Existing type…

Programming Languages · Computer Science 2026-01-21 Jin Sano , Naoki Yamamoto , Kazunori Ueda