The sufficiently smart compiler is a theorem prover

05/21/2018
by   Joachim Breitner, et al.
0

That the Haskell Compiler GHC is capable of proving non-trivial equalities between Haskell code, by virtue of its aggressive optimizer, in particular the term rewriting engine in the simplifier. We demonstrate this with a surprising little code in a GHC plugin, explains the knobs we had to turn, discuss the limits of the approach and related applications of the same idea, namely testing that promises from Haskell libraries with domain-specific optimizations hold.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/02/2018

Glow: Graph Lowering Compiler Techniques for Neural Networks

This paper presents the design of Glow, a machine learning compiler for ...
research
03/19/2018

Beyond correct and fast: Inspection Testing

Occasionally, developers need to ensure that the compiler treats their c...
research
03/19/2018

A promise checked is a promise kept: Inspection Testing

Occasionally, developers need to ensure that the compiler treats their c...
research
03/29/2022

ZK-SecreC: a Domain-Specific Language for Zero Knowledge Proofs

We present ZK-SecreC, a domain-specific language for zero-knowledge proo...
research
02/17/2022

Million.js: A Fast, Compiler-Augmented Virtual DOM for Performant JavaScript UI Libraries

The need for developing and delivering interactive web applications has ...
research
09/04/2019

SATURN – Software Deobfuscation Framework Based on LLVM

The strength of obfuscated software has increased over the recent years....
research
03/25/2019

Lost in translation: Exposing hidden compiler optimization opportunities

To increase productivity, today's compilers offer a two-fold abstraction...

Please sign up or login with your details

Forgot password? Click here to reset