This paper presents a modular and extensible style of language speci cation based on metacomputations. This style uses two monads to factor the static and dynamic parts of the speci cation, thereby staging the speci cation and achieving... more
This paper provides an analysis of the meaning-reference problem, as traditionally advanced in the philosophy of language, for imperative programming languages. Addressing the problem is relevant for the philosophy of computer science in... more
The aim of the project is to develop a prototype for a generator of argument structure or valency realizations in terms of syntagmatic and paradigmatic combinations of Spanish, German and French nouns. The two main applications of the... more
This report documents the program and the outcomes of Dagstuhl Seminar 15042 "Coalgebraic Semantics of Reflexive Economics".
En 2019, les 30èmes journées francophones des langages applicatifs (JFLA) se déroulent aux Rousses dans le Jura. Après une édition méditerranéenne à Banyuls-sur-Mer, les JFLA retrouvent donc une nouvelle fois la montagne. Chaque année,... more
We have created CABERNET, a Controlled Nature Language (CNL) based approach to program creation. CABERNET allows programmers to use a simple outline-based syntax. This allows increased programmer efficiency and syntax flexibility. CNLs... more
By paying more attention to semantics-based tool generation, programming language semantics can significantly increase its impact. Ultimately, this may lead to "Language Design Assistants" incorporating substantial amounts of semantic... more
We argue that classical programming languages are based on a fundamentally mistaken emphasis on the operational aspect of computation. These languages are seen as the means by which the programmer brings about particular kinds of... more
This paper presents XeraWord, an innovative tool for automatically generating nominal phrases. XeraWord can be used for different tasks, ranging from teaching languages to the creation of examples in lexicography, or even for the... more
Ce document présente des défis liés au développement de la combinatoire certifiée, définie comme l'application des méthodes formelles du génie logiciel à la recherche en combinatoire. Ce défi est lié aux thématiques du groupe de travail... more
This paper describe the multithreaded execution and data race detectors which are commonly viewed as debugging tools.The C++ Standard defines single-threaded program execution. Basically, multithreaded execution requires a much more... more
In the model-based development context, metamodel-based languages are increasingly being defined and adopted either for general purposes or for specific domains of interest. However, metalanguages such as the MOF (Meta Object... more
We define a strongly normalising proof-net calculus corresponding to the logic of strongly compact closed categories with biproducts. The calculus is a full and faithful representation of the free strongly compact closed category with... more
We present an initial draft of the ''Luminous'' interactive interpreter for a new dialect of the functional dataflow language Lucid. Luminous is not the first implementation of Lucid but it is novel in several ways. First, the dialect is... more
We present an initial draft of the ''Luminous'' interactive interpreter for a new dialect of the functional dataflow language Lucid. Luminous is not the first implementation of Lucid but it is novel in several ways. First, the dialect is... more
Description of the smallest quantum groupoïd associated with the A 2 diagram.
La théorie des preuves automatiques est une méthode très puissante pour vérifier qu'un système informatique satisfait une propriété. Parfois le processus de vérification n'est pas rassurant. Dans plusieurs cas, une certification de la... more
In this paper, we give an overview of our current work on introducing context as first-class objects in Lucid. It allows us to write programs in Lucx (Lucid enriched with context) in a high level of abstraction which is closer to the... more
In this work we model the ACME (a fictitious company name) "printer case incident" and make its specification in Forensic Lucid, a Lucid-and intensional-logic-based programming language for cyberforensic analysis and event reconstruction... more
Faustine is the first interpreter for the digital audio signal processing language Faust and its vector extension. This domainspecific language for sample-based audio is highly expressive and can be efficiently compiled. Faustine has been... more
We explore the intersection of interactive theorem proving and digital signal processing through the use of web-based, rich interfaces. Traditionally, the barrier to entry to interactive theorem proving has been high. Provers are complex... more
We describe an interpreter for pLucid, a member of the Luci d family of functional dataflow languages. In appearance, pLuci d is similar to Landin's Iswim, exept that individual variables an d expressions denote streams (infinite... more
This paper attempts to clear up several misconceptions about the language Lucid. In the process we claim that Lucid is in fact a real programming language, and indicate various ways in which implementations might be feasible.
The purpose of this paper is to demonstrate that first-order functional programs can be transformed into intensional programs of nullary variables, in a semantics preserving way. On the foundational side, the goal of our study is to bring... more
Faustine is the first interpreter for the digital audio signal processing language Faust and its vector extension. This domainspecific language for sample-based audio is highly expressive and can be efficiently compiled. Faustine has been... more
In this paper, we discuss different properties of positive elements in the tensor product of two C*-algebras. Considering the cone of positive elements in a C*-algebra , we define a cone norm on the set of Hermitian elements of. Some... more
In a recent paper, a realizability technique has been used to give a semantics of a quantum lambda calculus. Such a technique gives rise to an infinite number of valid typing rules, without giving preference to any subset of those. In... more
In 1981 Structural Operational Semantics (SOS) was introduced as a systematic way to define operational semantics of programming languages by a set of rules of a certain shape [56]. Subsequently, the rule format became object of study.... more
We describe in detail the new reflection API of the upcoming Javascript standard. The most prominent feature of this new API is its support for creating proxies: virtual objects that behave as regular objects, but whose entire... more
This paper addresses the problem of code optimization for Real-Time and Embedded Systems (RTES). Such systems are designed using Model-Based Development (MBD) approach that consists of performing three major steps: building models,... more
When writing functional interpreters, there are two things which need to be taken care of when having modularity in mind: syntax and semantics. Previous papers have presented methods, based on subtypes and monad transformers, for dealing... more
An examination of these compilers shows the strengths and weaknesses of this approach. The final section discusses the relationship between portability and a universal distribution format: ANDF cannot make programs portable; it provides... more
In previous work we proved that, for categories of free finite-dimensional modules over a commutative semiring, linear compact-closed symmetric monoidal structure is a property, rather than a structure. That is, if there is such a... more
In many different fields of science, it is useful to characterize physical states and processes as resources. Chemistry, thermodynamics, Shannon's theory of communication channels, and the theory of quantum entanglement are prominent... more
We address the problem of curvature estimation from sampled smooth surfaces. Building upon the theory of normal cycles, we derive a definition of the curvature tensor for polyhedral surfaces. This definition consists in a very simple and... more
Nautilus is a concurrent anticipatory programming language based on the object-oriented language GNOME which is a simplified and revised version of OBLOG. A semantics for Nautilus is given by Nonsequencial Automata, that is a categorial... more
A formal refinement calculus targeted at system-level descriptions in the IEEE standard hardware description language VHDL is described here. Refinement can be used to develop hardware description code that is “correct by construction”.... more
We report on the progress of a constructive mechanization for a small subset of signal processing theory, built upon the SSREFLECT and MATHCOMP libraries. The development was started to provide mechanized semantics for audio programming... more
We study a notion of observation for concurrent processes which allows the observer to see the distributed nature of processes, giving explicit names for the location of actions. A general notion of bisimulation related to this... more
This paper presents a methodology for automatically validating program transformation rules that are part of a calculus for Java source code verification. We target the Java Dynamic Logic calculus which is implemented in the interactive... more
We propose an algebraic approach to block diagram construction as an alternative to the classical graph ap-proach inspired by dataflow models. The proposed al-gebra is based on three binary operations of construc-tion : sequential,... more
Robots and other cyber-physical systems are held to high standards of safety and reliability, and thus one must be confident in the correctness of their software. Formal verification can provide such confidence, but programming languages... more