Pattern matching and call by pattern

  • G. Levi
  • F. Sirovich
Aspekte Zu Programmiersprachen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 34)


The paper describes SNARK, a new pattern matching language which was specifically designed with the aim of extending programming languages with a new and effective control mechanism (pattern directed procedure call). SNARK features a powerful and extensible pattern language and an efficient pattern retrieval mechanism. SNARK pattern language interpreter is based on a technique called symbolic evaluation, which is currently of great interest in connection with program verification.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Yngve, V.H., COMIT Programmer's Reference Manual. MIT Press, Cambridge Mass., 1962.Google Scholar
  2. 2.
    Griswold, R.E., J.F. Poage and I.P. Polonsky, The SNOBOL4 Programming Language. Prentice Hall, Englewood Cliffs, N.J.,1969.Google Scholar
  3. 3.
    Tesler, L.G. et al. The LISP70 pattern matching system. Proc. Third Intl. Conf. on Artificial Intelligence, Stanford, USA, August 20–23, 1973, 671–685.Google Scholar
  4. 4.
    Hewitt, C., Description and theoretical analysis (using schemata) of PLANNER: A language for proving theorems and manipulating models in a robot.AI Memo No. 251. MIT Project MAC (April 1972).Google Scholar
  5. 5.
    Winograd, T., Procedures as a representation for data in a computer program for understanding natural language. Ph. D. Th., MIT, Cambridge, Mass. (January 1971).Google Scholar
  6. 6.
    Sussman, G.J. and Winograd, T. Micro-planner reference manual. AI Memo No. 203, MIT Project MAC (July 1970).Google Scholar
  7. 7.
    Rulifson, J.F., Derksen, J.A. and Waldinger, R.J. QA4, a procedural calculus for intuitive reasoning.SRI AI Center Technical Note 73 (November 1972).Google Scholar
  8. 8.
    McDermott, D.V. and Sussman, G.J. The Conniver reference manual. AI Memo No. 259, MIT Project MAC (May 1972).Google Scholar
  9. 9.
    Davies, D.J.M. POPLER 1.5 Reference Manual. Univ. of Edinburgh. TPU Report No. 1 (May 1973).Google Scholar
  10. 10.
    Swinehart, D. and Sproull, B. SAIL. Stanford AI Project Operating Note No. 57.2 (January 1971).Google Scholar
  11. 11.
    Montangero, C., Pacini, G. and Turini, F. MAGMA-LISP: A Machine language for artificial intelligence. Proc. Fourth Intl. Joint Conf. on Artificial Intelligence, Tbilisi, USSR, September 3–8, 1975.Google Scholar
  12. 12.
    Montangero, C., Pacini, G. and Turini, F. Two-level control structure for non-deterministic programming. IEI Internal Report B74–31. Pisa, Italy (October 1974).Google Scholar
  13. 13.
    Hewitt, C. et al. Behavioral semantics of non-recursive control structures. Proc. Programming Symposium, Paris, France, April 9–11 1974, 385–407.Google Scholar
  14. 14.
    Kay, A. Personal computing. Meeting on 20 Years of Computer Science, Pisa, Italy, June 16–18, 1975.Google Scholar
  15. 15.
    Levi G. and Sirovich, F. Valutazione simbolica e unificazione. Proc. Symposium on Theoretical Computer Science, Mantova, Italy, November 21–23, 1974, 97–116.Google Scholar
  16. 16.
    Levi G. and Sirovich, F. Proving program properties, logical procedural semantics and symbolic evaluation. Proc. Mathematical Foundation of Computer Science 1975, Marianske Lazne, Tchechoslovakia, September 1–5, 1975.Google Scholar
  17. 17.
    Levi, G. and Sirovich, F. Un sistema per la produzione e la verifica di programmi strutturati, XXII Intl. Conf. on Electronics, Roma, Italy, March 12–15, 1975, 181–188.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1975

Authors and Affiliations

  • G. Levi
    • 1
  • F. Sirovich
    • 1
  1. 1.Istituto di Elaborazione della InformazioneConsiglio Nazionale delle RicerchePisaItaly

Personalised recommendations