arXiv
Preprints from arXiv: abstracts and PDFs, and the readers built on them (ar5iv, alphaXiv).
Top categoriesComputation and language 14Information retrieval 5Machine learning 5Computer vision 3Databases 3Programming languages 3Artificial intelligence 2Software engineering 2cs.CE 1Cryptography and security 1Data structures and algorithms 1cs.SI 1
3 papers in Programming languages All.
Scylla: Translating an Applicative Subset of C to Safe Rust
The popularity of the Rust language continues to explode; yet, many critical codebases remain authored in C. Automatically translating C to Rust is thus an appealing course of action. Several works have gone down this path, handling an ever-increasing subset of C through a variety of Rust features, such as unsafe. While the prospect of automation is appealing, producing code that relies on unsafe negates the memory safety guarantees offered by Rust, and therefore the main advantages of porting existing codebases to memory-safe languages. We instead advocate for a different approach, where the…
Untitled (https://arxiv.org/pdf/2011.07966.pdf)
In France, income tax is computed from taxpayers' individual returns, using an algorithm that is authored, designed and maintained by the French Public Finances Directorate (DGFiP). This algorithm relies on a legacy custom language and compiler originally designed in 1990, which unlike French wine, did not age well with time. Owing to the shortcomings of the input language and the technical limitations of the compiler, the algorithm is proving harder and harder to maintain, relying on ad-hoc behaviors and workarounds to implement the most recent changes in tax law. Competence loss and aging…
Retrofitting Parallelism onto OCaml
OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming. This paper describes the design, a full-fledged implementation and evaluation of a mostly-concurrent garbage collector (GC) for the multicore extension of the OCaml programming language. Given that we propose to add parallelism to a widely used programming language with millions of lines of existing code, we face the challenge of maintaining backwards…