Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Hoopl: A Modular, Reusable Library forDataflow Analysis and Transformation
(Abstract)
Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation
Dataflow analysis and transformation of control-flow graphs is
pervasive in optimizing compilers, but it is typically tightly
interwoven with the details of a particular compiler.
We describe Hoopl, a reusable Haskell library that makes it
unusually easy to define new analyses and
transformations for any compiler.
Hoopl's interface is modular and polymorphic,
and it offers unusually strong static guarantees.
The implementation
encapsulates
state-of-the-art algorithms (interleaved analysis and rewriting,
dynamic error isolation), and it cleanly separates their tricky elements
so that they can be understood independently.
This paper supersedes our previous
paper about Hoopl, but if you are interested in using
Hoopl, the previous paper is still worth reading because it contains
more explanations and examples about how to use the
library—this paper is more about the implementation.