1,326 research outputs found
Quantum Programming Made Easy
We present IQu, namely a quantum programming language that extends Reynold's
Idealized Algol, the paradigmatic core of Algol-like languages. IQu combines
imperative programming with high-order features, mediated by a simple type
theory. IQu mildly merges its quantum features with the classical programming
style that we can experiment through Idealized Algol, the aim being to ease a
transition towards the quantum programming world. The proposed extension is
done along two main directions. First, IQu makes the access to quantum
co-processors by means of quantum stores. Second, IQu includes some support for
the direct manipulation of quantum circuits, in accordance with recent trends
in the development of quantum programming languages. Finally, we show that IQu
is quite effective in expressing well-known quantum algorithms.Comment: In Proceedings Linearity-TLLA 2018, arXiv:1904.0615
On the Origin of Recursive Procedures
We investigate the origin of recursive procedures in imperative programming languages. We attempt to set the record straight, and to identify the trend that led to recursive procedures, by means of an analysis of the related concepts and of the most reliable available documents, as far as known to us. We show that not all of those who were involved in defining these concepts in these documents were fully aware of the implications of their proposals. Our aim is not primarily historical, but to contribute to a clarification of some of the concepts related to recursion. In particular, we demonstrate that recursive procedure declarations and recursive procedure activations are logically disjoint concepts
On the basis for ELF - An Extensible Language Facility
Computer language for data processing and information retrieva
Fifty years of Hoare's Logic
We present a history of Hoare's logic.Comment: 79 pages. To appear in Formal Aspects of Computin
Semantics of Separation-Logic Typing and Higher-order Frame Rules for<br> Algol-like Languages
We show how to give a coherent semantics to programs that are well-specified
in a version of separation logic for a language with higher types: idealized
algol extended with heaps (but with immutable stack variables). In particular,
we provide simple sound rules for deriving higher-order frame rules, allowing
for local reasoning
Parallel compilation: A design and its application to SIMULA 67
A design is presented for a parallel compilation facility for the SIMULA 67 programming language. The proposed facility allows top-down, bottom-up, or parallel development and integration of program modules. An evaluation of the proposal and a discussion of its applicability to other languages are then given
Elementary data structures in ALGOL-like languages
AbstractJ.C. Reynolds has pointed out that ALGOL 60 has a set of properties not shared by most of the languages usually regarded as being its successors. We propose to use this ALGOL-like framework to design a language that could adequately support both applicative and imperative programming while also retaining the advantages of each of the “pure” frameworks. This paper discusses elementary data-structuring facilities (products, arrays, sums) for such a language, taking advantage of recent developments, such as this author's “quantification” notation, and the notion of “conjunctive type” proposed by Coppo and Dezani, and adapted to explicitly-typed languages by Reynolds
Dissolving a half century old problem about the implementation of procedures
We investigate the semantics of the procedure concept, and of one of the main techniques introduced by E. W. Dijkstra in his article Recursive Programming to implement it, namely the "static link," sometimes also called "access link" or "lexical link." We show that a confusion about that technique persists, even in recent textbooks. Our analysis is meant to clarify the meaning of that technique, and of the procedure concept. Our main contribution is to propose a better characterization of the "static link."
Species concepts and speciation factors in cyanobacteria, with connection to the problems of diversity and classification
The cyanobacteria are the most important prokaryotic primary producers on Earth, inhabiting a great diversity of aquatic and terrestrial environments exposed to light. However, the evolutionary forces leading to their divergence and speciation remain largely enigmatic compared to macroorganisms due to their prokaryotic nature, including vast population sizes, and largely asexual reproduction. The advent of modern molecular techniques has facilitated an understanding of the important factors shaping cyanobacterial evolution, including horizontal gene transfer and homologous recombination. We review the forces shaping the evolution of cyanobacteria and discuss the role of cohesive forces on speciation. Further, while myriad species concepts and definitions are currently used, only a limited subset might be applied to cyanobacteria due to their asexual reproduction. Additionally, concepts based solely on phenotypes provide insufficient resolution. A monophyletic species concept which is universal may be ideal for cyanobacteria. Actual identification of the cyanobacteria is difficult due to cryptic diversity, lack of morphological variability, and frequent convergent evolutionary events. Thus, applied molecular techniques such as DNA barcoding will be useful for identifications of environmental samples. Lastly, we show that the real biodiversity of the cyanobacteria is widely underestimated, due in part to low sampling efforts, sensitivity to the molecular markers employed, and the species definitions employed by researchers. In conclusion, we anticipate a rapid increase in cyanobacterial taxa described and large revisions of the system in the future as scientists adopt a common approach to cyanobacterial systematics
- …