EDBT 2026 Demo / reviewers in the wild / expert
Samuel Vivien
dblp:300/9708
· DBLP profile ↗
2ranked-venue papers
1as first author
2since 2021 · last 2023
0000-0003-4224-6132ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 1 · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 62% Compilers and program optimization · 38% |
Topics — the 8 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
compiler optimization |
0.7 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems
functional language |
0.7 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems › functional language
lazy functional languages |
0.7 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Compilers and program optimization
verified compilation |
0.7 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems
equational reasoning |
0.2 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems › type systems › polymorphism
hindley-milner type system |
0.2 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems › language semantics › formal semantics
operational semantics |
0.2 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems
type systems |
0.2 | 1 | 2023 | PureCake: A Verified Compiler for a Lazy Functional Language · Proc. ACM Program. Lang. 2023 |
Methods — techniques the papers use, named apart from their topics
interactive theorem proving · 0.7HOL4 · 0.7
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | PureCake: A Verified Compiler for a Lazy Functional LanguageabstractWe present PureCake, a mechanically-verified compiler for PureLang, a lazy, purely functional programming language with monadic effects. PureLang syntax is Haskell-like and indentation-sensitive, and its constraint-based Hindley-Milner type system guarantees safe execution. We derive sound equational reasoning principles over its operational semantics, dramatically simplifying some proofs. We prove end-to-end correctness for the compilation of PureLang down to machine code---the first such result for any lazy language---by targeting CakeML and composing with its verified compiler. Multiple optimisation passes are necessary to handle realistic lazy idioms effectively. We develop PureCake entirely within the HOL4 interactive theorem prover. Hrutvik Kanabar, Samuel Vivien, Oskar Abrahamsson, Magnus O. Myreen, Michael Norrish, Johannes Åman Pohjola, Riccardo Zanetti |
Proc. ACM Program. Lang. | 2 |
| 2022 | Parallel integer multiplicationabstractMultiplication is a fundamental step in many algorithms. If the multiplication of two integers of n words has a complexity of M(n), divisions and squares can be computed in O(M(n)) as well and the greatest common divisor can be computed in O(M(n)logn). Thus being able to have a small value for M(n) is extremely important.To this day, the best known algorithm for reachable values is the Schönhage-Strassen algorithm which is implemented by a few arithmetic libraries. Asymptotically faster algorithms exist, however no computer is able to hold numbers big enough for those algorithms to outrun Schönhage-Strassen.The GNU Multiple Precision (GMP) library has a sequential-only implementation of Schönhage-Strassen.However some algorithms contains a step which is a single big multiplication. Thus when trying to parallelize such an algorithm, one requires a parallel algorithm for multiplication. An example of such an algorithm is the batch factorization for Number Field Sieve. Thus people trying to implement a parallel version of such algorithms need to find an arithmetic library that implements a parallel integer multiplication.An example of such a library is the Flint (Fast LIbrary for Number Theory) library that contains a parallel implementation of Schönhage-Strassen. In this article we present an implementation of Schönhage-Strassen, that reaches a speedup of 20 for the multiplication of two integers of 107words of 64 bits using a Xeon Gold with 32 cores. Samuel Vivien |
PDP | 1 |