Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Partial evaluation


Related Topics

In the News (Wed 15 Feb 12)

  
  Evaluation strategy - Wikipedia, the free encyclopedia
Under church encoding, eager evaluation of operators maps to strict evaluation of functions; for this reason, strict evaluation is sometimes called "eager".
Under church encoding, lazy evaluation of operators maps to non-strict evaluation of functions; for this reason, non-strict evaluation is sometimes referred to as "lazy".
Optimistic evaluation is another variant of call-by-need in which the function's argument is partially evaluated for some amount of time (which may be adjusted at runtime), after which evaluation is aborted and the function is applied using call-by-need.
en.wikipedia.org /wiki/Strict_evaluation   (1293 words)

  
 Partial Evaluation Using Dependence Graphs   (Site not responding. Last check: 2007-09-10)
Partial evaluation is a program specialization operation in which programs with multiple inputs are specialized to take into account known values for some of their inputs.
Thus, the result of partially evaluating a program given a division of its inputs into known or "static" inputs and unknown or "dynamic" inputs is a specialized version of the program, in which computations that require only the static inputs are absent.
However, partial evaluators are increasingly being developed for heavily used languages, for which the goal is to allow an arbitrary user to improve the performance of his or her program by using a partial evaluator as a "fl box" that optimizes code, in much the same way that optimizing compilers have been used for years.
research.microsoft.com /Pubs/view.aspx?pubid=228   (358 words)

  
 Partial evaluation - Computing Reference - eLook.org
For example, if partial evaluation were applied to the right hand side of the second clause for pow above, it would never terminate because the value of n is not known.
Partial evaluation might change the termination properties of the program if, for example, the expression (x * 0) was reduced to 0 it would terminate even if x (and thus x * 0) did not.
Partial evaluation of built-in functions applied to constant arguments is known as constant folding.
www.elook.org /computing/partial-evaluation.htm   (272 words)

  
 [No title]   (Site not responding. Last check: 2007-09-10)
Traditional uses of partial evaluation have focused on the specialization of entire programs, where the program is executed repeatedly, and where one or more of its input values remains constant while another one varies.
However, partial evaluation can be just as powerful when applied to subprograms, in that we can construct multiple optimized versions, or variants, of a subprogram, and use them instead of the subprogram in contexts in which they are applicable.
Partial evalua- tors operate by abstract execution of the program under some domain of approximations to runtime values--this is possible only when the partial evaluator, in some sense, knows the meaning of the primitives it is simulating.
www.laputan.org /pub/washington/text/ruf.txt   (2597 words)

  
 [No title]
Partial evaluation It is well known that a one-argument function can be obtained from a two argument function by specialization, i.e.
Partial evaluation, however, works with program texts rather than mathematical functions: a partial evaluator is an algorithm which, when given a program and some of its input data, produces a so-called residual or specialized program.
Partial evaluation can be thought of as a special case of program transformation, but emphasizes full automation and generation of program generators as well as transformation of single programs.
www.cs.cmu.edu /Groups/AI/lang/scheme/code/eval/sestoft/book.txt   (889 words)

  
 Partial Evaluation - An Overview   (Site not responding. Last check: 2007-09-10)
Roughly speaking, partial evaluation can be thought of as a combination of aggressive constant folding, inlining, loop unrolling and inter-procedural constant propagation applied to all data types (including pointers, structures and arrays) instead of just scalars.
Partial evaluation has been successfully applied as an optimizer in various domains such as operating systems and networking, computer graphics, numerical computation, circuit simulation, software architectures, compiling and compiler generation.
On-line partial evaluator are theoretically more powerful: specialization relies on actual values, not on the fact that values are known.
compose.labri.fr /documentation/pe/pe_overview.php3   (1139 words)

  
 LennartSwart < Students < TWiki   (Site not responding. Last check: 2007-09-10)
Partial evaluation, or program specialization, is used when a variable is known to often hold one particular value.
An approach to an implementation of the process of partial evaluation as it is done by Similix 5.0, using the rewrite rules provided by Stratego is given.
All phases a program has to pass to attain a partial evaluated version of the program can be split up in simple rewriting steps, which are combined in a neatly arranged manner by the rewriting strategies.
www.cs.uu.nl /wiki/view/Students/LennartSwart?skin=print.pattern   (270 words)

  
 Partial Evaluation of Procedural Performance Models   (Site not responding. Last check: 2007-09-10)
Partial evaluation here is similar to the other foreach expression or statement.
If during the evaluation of a statement, the result is unknown, the fail flag is set to true.
By specifying the appropriate partial primitive data for the performance model, all expressions and statements in the performance model can be reduced to an equational form during evaluation.
www.ececs.uc.edu /~ddel/projects/pdl/papers/edtc97/node2.html   (1026 words)

  
 PartialEvaluation < Transform < TWiki
Partial evaluation is a ProgramOptimization technique in which a program is specialized to a part of the input that is known statically (at specialization time).
Partial Evaluation has reached a point where theory and techniques have matured, substantial systems have been developed, and realistic applications can benefit from partial evaluation.
All in all, this book competently reports the state of the art and future perspectives in partial evaluation and is thus compulsory reading for anybody interested in the area.
www.program-transformation.org /view/Transform/PartialEvaluation?skin=print.pattern   (239 words)

  
 Bibliographies and tutorials (partial evaluation)   (Site not responding. Last check: 2007-09-10)
Partial deduction can be viewed as a program improvement strategy in which part of the execution of the program, that which would be needed by every execution (of particular form), can be carried out at compile time, thus leaving less computation to be done at run tume and so improving the run time performance.
Partial evaluation is normally carried out by developing a meta-interpreter to evaluate parts of the object program and to delay evaluation of other parts.
Partial evaluation can be defined as a transformation technique which, given a program P and a goal G, produces a new program P' which is more efficient than P on G or its instances.
www.informatik.uni-trier.de /~ruttgers/Lexicon/lexicon/parteval/node3.html   (832 words)

  
 Partial Evaluation - Practice and Theory (2.CFP)
It is a source-to-source staging transformation: a program $p$ together with partial data $s$ are transformed into an often faster specialized version $p_s$ by precomputing parts of $p$ that depend only on $s$.
Partial evaluators have been successfully applied to generate efficient specialized programs for ray tracing, for the Fast Fourier transform, and for circuit and planetary simulations.
Partial evaluators have also been used to compile using interpreters for programming languages and to generate compilers from interpreters.
www.cis.upenn.edu /~bcpierce/types/archives/1997-98/msg00377.html   (288 words)

  
 C++ Templates as Partial Evaluation
It turns out that the C++ template mechanism is a form of partial evaluation (Section 3); the experience of library developers working with templates may offer some useful insights about partial evaluation as a language feature (Section 4).
Partial evaluation offers hope for a cleaner syntax: there is a strong resemblance between templates and partial evaluation, so some mechanism based directly on partial evaluation might solve the abstraction penalty problem, and avoid the awkward syntax of template techniques.
Researchers in partial evaluation might benefit from the experience of library developers working with templates: there is a growing understanding of what features are useful for creating active libraries.
osl.iu.edu /~tveldhui/papers/pepm99   (3208 words)

  
 Health Economics Information Resources: A Self-Study Course: Module 3
The aim of economic evaluation is to ensure that the benefits from health care programs implemented are greater than the opportunity cost of such programs by addressing questions of ______ or _____.
Mislabeling of partial evaluations as full economic evaluations can also result in the incorrect application of indexing terms to studies that are indexed for bibliographic databases - thus making it more challenging in identifying studies which are true economic evaluations.
Guidelines for conduct of an economic evaluation have been developed as a means of addressing the problem of quality variability in health economic evaluation studies.
www.nlm.nih.gov /nichsr/edu/healthecon/03_he_review.html   (1260 words)

  
 [No title]   (Site not responding. Last check: 2007-09-10)
Partial evaluation of an interpreter and a self-interpreter is performed and the results are discussed."} @INPROCEEDINGS{Bondorf:1989:ASelf-Applicable, AUTHOR = "A. Bondorf", TITLE = "A Self-Applicable Partial Evaluator for Term Rewriting Systems", BOOKTITLE = "TAPSOFT '89.
The partial evaluator is based on the off-line approach and uses a binding-time analysis prior to the specialization phase.
An abstract Prolog machine is systematically extended to an abstract Prolog partial evaluator, and an implementation of this partial evaluator is developed.
www.cs.washington.edu /research/dyncomp/Related/pe-long.bib   (2162 words)

  
 vanrijkom.org: Partial Evaluation   (Site not responding. Last check: 2007-09-10)
A while back I've been playing with partial evaluation using Flash.
partial gets assigned the function that follows from the partial evaluation of foo (in this case, it will return a function taking 2 arguments since foo is evaluated using one argument - so 3 - 1 nets 2.
Finally partial is invoked returning the full result "Hello World" just like the result would have been when directly invoking foo with 3 arguments.
www.vanrijkom.org /archives/2005/06/partial_evaluat.html   (367 words)

  
 Supercompilation - TunesWiki
Partial evaluation vs. Supercompilation We discussed above the global program optimization technique known as partial evaluation or partial evaluation[sic].
Partial evaluation is dependent upon a type of program analysis called Binding Time Analysis (BTA), which has no access to the concrete values taken on by local variables in a program as it executes, and hence does not use the maximum information available at a given point in the execution of a program.
The step from partial evaluation to supercompilation is a large one: on the one hand, a purely static analysis of variable-value relationships; on the other, a full-on metacomputation framework in which a program is executed by another program, keeping records and making analyses as it goes along.
tunes.org /wiki/Supercompilation?source   (430 words)

  
 Dynamic Partial Evaluation   (Site not responding. Last check: 2007-09-10)
Dynamic partial evaluation performs partial evaluation as a side effect of evaluation, with no previous static analysis required.
A completely dynamic version of partial evaluation is not merely of theoretical interest, but has practical applications, especially when applied to dynamic, reflective programming languages.
In this paper, we present an implementation of dynamic partial evaluation for a simple language -- a lambda calculus extended with dynamic typing, subtyping, generic functions and multimethod dispatch.
people.csail.mit.edu /people/gregs/dynamic-pe.html   (234 words)

  
 Partial Evaluation   (Site not responding. Last check: 2007-09-10)
"Partial Evaluation using Rewrite Rules: A Specification of a Partial Evaluator for Similix in Stratego".
"Partial evaluation as a compiler for reflective languages".
"A Partial Evaluator for the Untyped Lambda Calculus".
library.readscheme.org /page10.html   (1007 words)

  
 Abstract State Machines: Self-Applicable Partial Evaluation   (Site not responding. Last check: 2007-09-10)
Roberto da Silva Bigonha, and Marcelo de Almeida Maia, "A Self-Applicable Partial Evaluator for ASM".
A partial evaluator for ASMs is described which is self-applicable (i.e.
The use of such a tool for compiler generation and techniques for describing language semantics suitable for partial evaluation are discussed.
www.eecs.umich.edu /gasm/papers/selfpe.html   (87 words)

  
 Preserving Information During Online Partial Evaluation
The degree to which a partial evaluator can specialize a source program depends on how accurately the partial evaluator can represent and maintain information about runtime values.
Partial evaluators always lose some accuracy due to their use of finite type systems; however, existing partial evaluation techniques lose information about runtime values even when their type systems are capable of representing such information.
This paper describes two sources of such loss in existing specializers, solutions for both cases, and the implementation of these solutions in our partial evaluation system, FUSE.
research.microsoft.com /research/pubs/view.aspx?pubid=324   (108 words)

  
 Amazon.com: Project Factorisations in Partial Evaluation (Distinguished Dissertations in Computer Science): Books: John ...   (Site not responding. Last check: 2007-09-10)
A partial evaluator is a function that takes a program, together with some of the input to the program, and produces a new program as a result.
Partial evaluation has recently become the focus of attention for a rapidly increasing number of researchers because of its potential for global program optimization.
This is the first complete book on the subject of partial evaluation.
www.amazon.com /exec/obidos/tg/detail/-/0521414970?v=glance   (616 words)

  
 Partial Evaluation As You Go   (Site not responding. Last check: 2007-09-10)
In addition to evaluation, the interpreter does partial evaluation with respect to argument values declared as static.
The top-level driver is (run-and-pe exp static-vals dynamic-vals) The exp must evaluate to an abstraction.
Well, my idea is that a VM interpreter should be equipped with a partial evaluator.
www.ai.mit.edu /people/gregs/peayg/peayg.html   (219 words)

  
 Jones, Gomard, Sestoft: Partial Evaluation
Partial evaluation creates a specialized version of a general program.
Evaluate p with input (d1, d2), to produce the result res.
Similix partial evaluator described in Chapter 10 (developed by Bondorf and Danvy)
www.dina.dk /~sestoft/pebook/pebook.html   (371 words)

  
 Foundations of Partial Evaluation and Program Specialization   (Site not responding. Last check: 2007-09-10)
These notes give a gentle introduction to program specialization concepts using a simple flowchart language called FCL (the idea of using FCL to explain partial evaluation is due to Gomard and Jones, who used it to present offline partial evaluation).
Here is the student version (templates) for the Scheme implementations of the FCL interpreter and partial evaluators.
Here is the student version (templates) for the Java implementations of the FCL interpreter and partial evaluators.
www.cis.ksu.edu /~hatcliff/FPEPS   (450 words)

  
 An Overview of PARTIAL EVALUATION
Program specialization, also known as partial evaluation, is an automatic tool for program optimization, similar in concept to but in several ways stronger than a highly optimizing compiler.
Partial evaluation yields large basic blocks which parallelize well.
A summary of the contents of these proceedings can be found as a dvi file or as postscript file.
www.diku.dk /forskning/topps/activities/PartialEvaluation.html   (456 words)

  
 A Hacker's Introduction to Partial Evaluation   (Site not responding. Last check: 2007-09-10)
After studying this, hopefully, you'll be able to not just apply a general-purpose partial evaluator like PGG, but also write a small custom one targeted to your problem, as needed.
A fancy partial evaluator might have found that optimization on its own, as a ``continuation-based binding-time improvement''.
Ken Anderson, ``Freeing the Essence of a Computation.'' Presents a similar partial evaluator in Common Lisp along with a nice example using it -- I wrote this article to explore the ideas in Anderson's paper for myself.
www.lisp-p.org /peval/peval.cgi   (4416 words)

  
 The Church Project: Partial evaluation for constraint-based program analyses
We report on a case study in the application of partial evaluation, initiated by the desire to speed up a constraint-based algorithm for control-flow analysis.
We believe this phenomenon to be a quite frequent spinoff from using partial evaluation, since the removal of interpretive overhead makes the flow of control more explicit and hence pinpoints sources of inefficiency.
Finally, we observed that partial evaluation in our case yields such regular, low-level specialized programs that it begs for runtime code generation.
types.bu.edu /reports/Amt:BRICS-1999.html   (315 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.