TL;DR: Researchers developed an open-source compiler that maps ARM assembly language to quantum computing paradigms, enabling the computation of quantum algorithms like Grover's Algorithm and the Fibonacci sequence, simplifying the transition from classical to quantum programming.
Abstract: This research presents a novel approach in quantum computing by transforming ARM assembly instructions for use in quantum algorithms. The core achievement is the development of a method to directly map the ARM assembly language, a staple in classical computing, to quantum computing paradigms. The practical application of this methodology is demonstrated through the computation of the Fibonacci sequence. This example serves to validate the approach and underscores its potential in simplifying quantum algorithms. Grover's Algorithm was realized through the use of quantum-specific instructions. These transformations were developed as part of an open-source assembly-to-quantum compiler (github.com/arhaverly/AssemblyToQuantumCompiler). This effort introduces a novel approach to utilizing classical instruction sets in quantum computing and offers insight into potential future developments in the field. The AssemblyToQuantumCompiler streamlines quantum programming and enables computer scientists to transition more easily from classical to quantum computer programming.
TL;DR: This paper introduces TypeDis, a type system ensuring disentanglement in parallel programs, automatically verifying the property via timestamps, supporting iso-recursive types and polymorphism, and reducing manual proof effort for programmers.
Abstract: Disentanglement is a runtime property of parallel programs guaranteeing that parallel tasks remain oblivious to each other's allocations. As demonstrated in the MaPLe compiler and run-time system, disentanglement can be exploited for fast automatic memory management, especially task-local garbage collection with no synchronization between parallel tasks. However, as a low-level property, disentanglement can be difficult to reason about for programmers. The only means of statically verifying disentanglement so far has been DisLog, an Iris-fueled variant of separation logic, mechanized in the Rocq proof assistant. DisLog is a fully-featured program logic, allowing for proof of functional correctness as well as verification of disentanglement. Yet its employment requires significant expertise and per-program proof effort. This paper explores the route of automatic verification via a type system, ensuring that any well-typed program is disentangled and lifting the burden of carrying out manual proofs from the programmer. It contributes TypeDis, a type system inspired by region types, where each type is annotated with a timestamp, identifying the task that allocated it. TypeDis supports iso-recursive types as well as polymorphism over both types and timestamps. Crucially, timestamps are allowed to change during type-checking, at join points as well as via a form of subtyping, dubbed subtiming. The paper illustrates TypeDis and its features on a range of examples. The soundness of TypeDis and the examples are mechanized in the Rocq proof assistant, using an improved version of DisLog, dubbed DisLog2.