سند علمی

Using program structure to guide optimization in the presence of first-class functions

چکیده

Compilers for functional languages such as Standard ML can do a good job compiling programs, especially programs that perform symbolic computation. However, they often do a poor job on programs in a wide range of real-world application domains, such as systems programming and scientific computing. One reason for this is that these compilers are not sensitive to program structure, that is, recursions (“loops”), the code executed during the evaluation of a recursive function (“loop bodies”), and recursive-function nesting (“loop nesting”). In part, this is because determining the code executed during evaluation of a recursive function and determining recursive-function nesting is difficult when functions are first-class values. The body of a recursive function may simply be a call to an unknown function. Recursivefunction nesting can be difficult to determine because functions may be passed off to be used elsewhere. However, even in situations where the program structure is easy to determine, the traditional emphasis on compiling function calls well instead of compiling recursions well has led to compilers that simply ignore recursions. In my thesis, I propose to demonstrate that it is practical for a realistic compiler to determine the structure of functional programs and to show that compilers for functional languages need to be sensitive to this information to do a good job compiling systems and scientific programs. Furthermore, I will show that being sensitive to program structure improves compilation of symbolic programs as well.

اسناد مشابه

  • First-Class Functions for First-Order Database Engines

    سند علمی۲۰۱۳DBPLTorsten Grust, Alexander Ulrich

    We describe query defunctionalization which enables off-the-shelf first-order database engines to process queries over first-class functions. Support for first-class functions is characterized by the ability to treat functions like regular data items that can be constructed at qu

  • First-Class Functions in an Imperative World

    سند علمی۲۰۱۷J. UCSRoberto Ierusalimschy

    First-class functions are a hallmark of functional languages, but they are a useful concept in imperative languages, too. Even ANSI C offers a restricted form of first-class functions (in the form of pointers to functions), and several more recent imperative languages, such as Py

  • A Polymorphic Future and First-class Function Type for Concurrent Object-Oriented Programming

    سند علمی۱۹۹۵R. Greg Lavender, Dennis G. Kafura

    A \future" is a typed synchronization mechanism used to represent a value that will come into existence at some point in time after the creation of the future. In this paper, a polymorphic future type is introduced that di ers from previous mechanisms in that it provides a rst-cl

  • v 2 6 N ov 2 00 3 First class functions in constrained second class systems

    سند علمی۲۰۰۳A. V. Bratchikov

    First class functions in constrained second class systems. Abstract Generators of the algebra of first class functions in a system with second class constraints are found. It is shown that first class functions form algebras with respect to the Dirac bracket and pointwise multipl

  • Towards DVM Friendly First-Class Functions

    سند علمی۲۰۰۳Marco T. Morazán

    One of the most attractive features of functional languages is that functions are first-class. To support first-class functions many functional languages created heap-allocated closures to store the bindings of free variables. This makes it difficult to predict how the heap is ac

  • Structure-guided optimization of small molecule c-Abl activators

    سند علمی۲۰۱۴Journal of Computer-Aided Molecular DesignXuan Hong, Ping Cao, Yoshiaki Washio, Graham Simpson

    c-Abl kinase is maintained in its normal inactive state in the cell through an assembled, compact conformation. We describe two chemical series that bind to the myristoyl site of the c-Abl kinase domain and stimulate c-Abl activation. We hypothesize that these molecules activate