Dataflow analysis and transformation of control-flow graphs is per-vasive in optimizing compilers, but it is typically entangled with the details of a particular compiler. We describe Hoopl, a reusable library that makes it unusually easy to define new analyses and transformations for any compiler written in Haskell. Hoopl’s in-terface 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 isola-tion), and it cleanly separates their tricky elements so that they can be understood independently. Readers:Code examples are indexed a
Abstract Dataflow programs are widely used. Each program is a directed graph where nodes are comput...
Abstract. This paper describes how the use of software libraries, which is prevalent in high perform...
AbstractDataflow analysis is a well-understood and very powerful technique for analyzing programs as...
Our work applies the dataflow algorithm to an area outside its traditional scope: functional languag...
Dataflow analysis is a powerful tool used for program optimization, static analysis, and editor serv...
Dataflow analysis is a well-understood and very powerful technique for analyzing programs as part of...
Machine learning (ML) is increasingly seen as a viable approach for building compiler optimization h...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
Data-flow analysis is the static analysis of programs to estimate their approximate run-time behavio...
Polyhedral techniques for program transformation are now used in several proprietary and open source...
AbstractWe are using ML to build a compiler that does low-level optimization. To support optimizatio...
In the streaming domain, applications are often described as dataflow graphs. Each node in the graph...
The importance of reasoning about and refactoring programs is a central tenet of functional programm...
This paper describes how the use of software libraries, which is prevalent in high performance comp...
Modern compilers use control flow based intermediate representations for representing programs durin...
Abstract Dataflow programs are widely used. Each program is a directed graph where nodes are comput...
Abstract. This paper describes how the use of software libraries, which is prevalent in high perform...
AbstractDataflow analysis is a well-understood and very powerful technique for analyzing programs as...
Our work applies the dataflow algorithm to an area outside its traditional scope: functional languag...
Dataflow analysis is a powerful tool used for program optimization, static analysis, and editor serv...
Dataflow analysis is a well-understood and very powerful technique for analyzing programs as part of...
Machine learning (ML) is increasingly seen as a viable approach for building compiler optimization h...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
Data-flow analysis is the static analysis of programs to estimate their approximate run-time behavio...
Polyhedral techniques for program transformation are now used in several proprietary and open source...
AbstractWe are using ML to build a compiler that does low-level optimization. To support optimizatio...
In the streaming domain, applications are often described as dataflow graphs. Each node in the graph...
The importance of reasoning about and refactoring programs is a central tenet of functional programm...
This paper describes how the use of software libraries, which is prevalent in high performance comp...
Modern compilers use control flow based intermediate representations for representing programs durin...
Abstract Dataflow programs are widely used. Each program is a directed graph where nodes are comput...
Abstract. This paper describes how the use of software libraries, which is prevalent in high perform...
AbstractDataflow analysis is a well-understood and very powerful technique for analyzing programs as...