Smiley Face    

PhD dissertation abstract
by Robin Snyder  ,  robin@RobinSnyder.com , source: VITA/these-00 [NV/asp]
[page formatted/updated on 2008/04/22 at 08:47:00 , loaded on 2010/09/08 at 08:35:58 ]
versions:    screen-friendly    printer-friendly


1.0 PhD dissertation abstract

      Fixed set combinators provide an elegant, but inefficient, method of implementing lazy normal-order evaluation of functional languages. A generalized director-string combinator code is developed to provide an efficiently compiled and fully lazy pure code. This code form facilitates module hierarchies, dynamic debugging and parallel evaluation, being well suited to encoding heuristics and annotations for the implementation of fine grain parallelism, crucial in overcoming the inherent inefficiency of combinators. The debugging of lazy functional programs can be a nontrivial matter. A method is developed to facilitate the debugging of functional programs by allowing dynamic reconstruction of source-like expressions from run-time combinator code with small time and space cost. [1]


2.0 Application

    What this means can be explained as follows.

    • Every computation takes both time and space.
    • Resources are finite such that not everything that could be done can be done.
    • Eager evaluation does computations immediately even if the result may never be used.
    • Lazy evaluation delays evaluation of what needs to be done until the last possible moment.
    • The focus of this research was in implementing lazy evaluation in functional languages while using resources not currently being used to identify and evaluate computations that would need to be done eventually.

    Note the following.

    • Am important concept in doing this is in identifying and both sharing resources and managing access to those shared resources.
    • Spreadsheets are a simple form of functional language (i.e., without cycles) so the results apply directly to spreadsheet models.
    • Parallel and concurrent programming usually requires that some form of functionalization (either mental or actual) be done with the problem implementation so that functional models are directly applicable.

    My interest was primarily focused in developing meaningful high level notations that could be compiled to efficient low-level code implementations suth that, with minimal machine overhead, a meaningful representation of the computation could be reverse engineered and manipulated for debugging and diagnostic purposes.


3.0 Thesis committee

    • Ph.D. thesis advisor: S. Purush Iyer , currently Associate Professor of Computer Science in the Department of Computer Science at the North Carolina State University.
    • Ph.D. thesis chair: Webb Miller , currently Professor of Computer Science and Engineering at the Pennsylvania State University.


References



by Robin Snyder  ,  robin@RobinSnyder.com , source: VITA/these-00 [NV/asp]