On Jones-Optimal Specializers: A Case Study Using Unmix

  • Johan Gade
  • Robert Glück
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4279)


Jones optimality is a criterion for assessing the strength of a program specializer. Here, the elements required in a proof of Jones optimality are investigated and the first formal proof for a non-trivial polyvariant specializer (Unmix) is presented. A simplifying element is the use of self-application. Variations of the original criterion are discussed.


Residual Program Partial Evaluation Residual Function Goal Function Source Program 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bjørner, D., Ershov, A.P., Jones, N.D. (eds.): Partial Evaluation and Mixed Computation. North-Holland, Amsterdam (1988)Google Scholar
  2. 2.
    Danvy, O., Martínez López, P.E.: Tagging, encoding, and jones optimality. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 335–347. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Glück, R.: The translation power of the futamura projections. In: Broy, M., Zamulin, A.V. (eds.) PSI 2003. LNCS, vol. 2890, pp. 133–147. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Gomard, C.K., Jones, N.D.: Compiler generation by partial evaluation: a case study. Structured Programming 12(3), 123–144 (1991)MathSciNetGoogle Scholar
  5. 5.
    Hughes, J.: Type specialisation for the lambda-calculus; or, a new paradigm for partial evaluation based on type inference. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 183–215. Springer, Heidelberg (1996)Google Scholar
  6. 6.
    Jones, N.D.: Challenging problems in partial evaluation and mixed computation. In: Bjørner, et al. (eds.) [1], pp. 1–14Google Scholar
  7. 7.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)MATHGoogle Scholar
  8. 8.
    Jones, N.D., Sestoft, P., Søndergaard, H.: Mix: A self-applicable partial evaluator for experiments in compiler generation. Lisp and Symbolic Computation 2(1), 9–50 (1989)CrossRefGoogle Scholar
  9. 9.
    Makholm, H.: On jones-optimal specialization for strongly typed languages. In: Taha, W. (ed.) SAIG 2000. LNCS, vol. 1924, pp. 129–148. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Mogensen, T.Æ.: Inherited limits. In: Hatcliff, J., Mogensen, T.Æ., Thiemann, P. (eds.) DIKU 1998. LNCS, vol. 1706, pp. 189–202. Springer, Heidelberg (1999)Google Scholar
  11. 11.
    Romanenko, S.A.: Arity raiser and its use in program specialization. In: Jones, N.D. (ed.) ESOP 1990. LNCS, vol. 432, pp. 341–360. Springer, Heidelberg (1990)Google Scholar
  12. 12.
    Romanenko, S.A.: The specializer Unmix (1990); Program and documentation available from:
  13. 13.
    Sestoft, P.: The structure of a self-applicable partial evaluator. In: Ganzinger, H., Jones, N.D. (eds.) Programs as Data Objects. LNCS, vol. 217, pp. 236–256. Springer, Heidelberg (1986)Google Scholar
  14. 14.
    Sestoft, P.: Automatic call unfolding in a partial evaluator. In: Bjørner, et al. (eds.) [1], pp. 485–506 (1988)Google Scholar
  15. 15.
    Skalberg, S.C.: Mechanical proof of the optimality of a partial evaluator. Master’s thesis, Department of Computer Science, University of Copenhagen (1999)Google Scholar
  16. 16.
    Taha, W., Makholm, H., Hughes, J.: Tag elimination and jones-optimality. In: Danvy, O., Filinski, A. (eds.) PADO 2001. LNCS, vol. 2053, pp. 257–275. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Johan Gade
    • 1
    • 2
  • Robert Glück
    • 2
  1. 1.Dept. of Mathematical InformaticsUniversity of TokyoTokyoJapan
  2. 2.DIKU, Dept. of Computer ScienceUniversity of CopenhagenCopenhagenDenmark

Personalised recommendations