they need is not available Offline: resolve as much as possible before evaluation Online: Evaluation proceeds as much as it can Termination is an important issue for online partial evaluation
unfold expressions, may not terminate Proper partial evaluation: differentiate between static and dynamic function arguments, evaluate function calls with their static arguments, creating new functions of the dynamic arguments