Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Partial evaluation
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Technique for program optimization}} {{Distinguish|partial application}} {{More footnotes|date=May 2013}} {{Evaluation strategy}} In [[computing]], '''partial evaluation''' is a technique for several different types of [[optimization (computer science)|program optimization]] by [[Specialization (logic)|specialization]]. The most straightforward application is to produce new programs that run faster than the originals while being guaranteed to behave in the same way. A [[computer program]] ''prog'' is seen as a [[map (mathematics)|map]]ping of input data into output data: <math display="block">prog : I_\text{static} \times I_\text{dynamic} \to O,</math> where <math>I_\text{static}</math>, the ''static data'', is the part of the input data known at compile time. The partial evaluator transforms <math>\langle prog, I_\text{static}\rangle</math> into <math>prog^* : I_\text{dynamic} \to O</math> by precomputing all static input at compile time. <math>prog^*</math> is called the "residual program" and should run more efficiently than the original program. The act of partial evaluation is said to "residualize" <math>prog</math> to <math>prog^*</math>.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)