English
Related papers

Related papers: Implementing Continuation based language in GCC

200 papers

We describe the formal language MASC, based on a subset of SystemC and intended for modeling algorithms to be implemented in hardware. By means of a special-purpose parser, an algorithm coded in SystemC is converted to a MASC model for the…

Hardware Architecture · Computer Science 2014-06-09 John W. O'Leary , David M. Russinoff

Achieving fault-tolerance will require a strong relationship between the hardware and the protocols used. Different approaches will therefore naturally have tailored proof-of-principle experiments to benchmark progress. Nevertheless,…

Quantum Physics · Physics 2024-05-28 Milan Liepelt , Tommaso Peduzzi , James R. Wootton

We present qcor - a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler…

Micro-core architectures combine many simple, low memory, low power-consuming CPU cores onto a single chip. Potentially providing significant performance and low power consumption, this technology is not only of great interest in embedded,…

Programming Languages · Computer Science 2021-02-04 Maurice Jamieson , Nick Brown

Combinatorial evolution - the creation of new things through the combination of existing things - can be a powerful way to evolve rather than design technical objects such as electronic circuits. Intriguingly, this seems to be an ongoing…

Software Engineering · Computer Science 2021-11-23 Sebastian Fix , Thomas Probst , Oliver Ruggli , Thomas Hanne , Patrik Christen

In game semantics and related approaches to programming language semantics, programs are modelled by interaction dialogues. Such models have recently been used in the design of new compilation methods, e.g. for hardware synthesis or for…

Logic in Computer Science · Computer Science 2015-07-01 Ulrich Schöpp

This abstract aims at presenting an ongoing effort to apply a novel typing mechanism stemming from Implicit Computational Complexity (ICC), that tracks dependencies between variables in three different ways, at different stages of…

Computational Complexity · Computer Science 2022-05-26 Clément Aubert , Thomas Rubiano , Neea Rusch , Thomas Seiller

This paper describes a C code generator for ACL2 that recognizes ACL2 representations of C constructs, according to a shallow embedding of C in ACL2, and translates those representations to the represented C constructs. The code generator…

Logic in Computer Science · Computer Science 2022-05-25 Alessandro Coglio

Modern operating system kernels are written in lower-level languages such as C. Although the low-level functionalities of C are often useful within kernels, they also give rise to several classes of bugs. Kernels written in higher level…

Operating Systems · Computer Science 2016-03-18 Harshal Sheth , Aashish Welling

We report on a half-semester course focused around implementation of type systems in programming languages. The course assumes basics of classical compiler construction, in particular, the abstract syntax representation, the Visitor…

Programming Languages · Computer Science 2024-07-12 Abdelrahman Abounegm , Nikolai Kudasov , Alexey Stepanov

Continuous integration is a software engineering practice of frequently merging all developer working copies with a shared main branch, e.g., several times a day. With the advent of GitHub, a platform well known for its "social coding"…

Software Engineering · Computer Science 2015-12-08 Bogdan Vasilescu , Stef van Schuylenburg , Jules Wulms , Alexander Serebrenik , Mark G. J. van den Brand

C is the lingua franca of programming and almost any device can be programmed using C. However, programming mod-ern heterogeneous architectures such as multi-core CPUs and GPUs requires explicitly expressing parallelism as well as…

In this paper we present CQ, a specification for a C-like API for quantum accelerated HPC, as well as CQ-SimBE, a reference implementation of CQ written in C99, and built on top of the statevector simulator QuEST. CQ focuses on enabling the…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-08-15 Oliver Thomson Brown , Mateusz Meller , James Richings

This article discusses the implementation of programmable money on DLT-based CBDCs. After briefly introducing what programmable money is, we enumerate some initiatives worldwide and discuss the critical steps for implementation. We look at…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-21 Arlindo F. da Conceição , Roman Vitenberg

This extended abstract explores supporting OpenMP in the Zig programming language. Whilst, C and Fortran are currently the main languages used to implement HPC applications, Zig provides a similar level of performance complimented with…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-08-20 David Kacs , Nick Brown , Joseph Lee

This thesis embarks on a comprehensive exploration of formal computational models that underlie typed programming languages. We focus on programming calculi, both functional (sequential) and concurrent, as they provide a compelling rigorous…

Logic in Computer Science · Computer Science 2024-08-16 Joseph William Neal Paulus

We consider the task of analyzing message-passing programs by observing their run-time behavior. We introduce a purely library-based instrumentation method to trace communication events during execution. A model of the dependencies among…

Programming Languages · Computer Science 2018-01-31 Martin Sulzmann , Kai Stadtmüller

Iterative algorithms are traditionally expressed in ACL2 using recursion. On the other hand, Common Lisp provides a construct, loop, which -- like most programming languages -- provides direct support for iteration. We describe an ACL2…

Logic in Computer Science · Computer Science 2020-09-30 Matt Kaufmann , J Strother Moore

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

Existing iterative compilation and machine-learning-based optimization techniques have been proven very successful in achieving better optimizations than the standard optimization levels of a compiler. However, they were not engineered to…

Programming Languages · Computer Science 2020-08-11 Kyriakos Georgiou , Zbigniew Chamski , Andres Amaya Garcia , David May , Kerstin Eder