Skip to main content

Compiling Pattern Matching in Join-Patterns

  • Conference paper
CONCUR 2004 - Concurrency Theory (CONCUR 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3170))

Included in the following conference series:

Abstract

We propose an extension of the join-calculus with pattern matching on algebraic data types. Our initial motivation is twofold: to provide an intuitive semantics of the interaction between concurrency and pattern matching; to define a practical compilation scheme from extended join-definitions into ordinary ones plus ML pattern matching. To assess the correctness of our compilation scheme, we develop a theory of the applied join-calculus, a calculus with value-passing and value matching.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Fournet, C.: Mobile values, new names, and secure communication. In: Proceedings of POPL 2001, pp. 104–115 (2001)

    Google Scholar 

  2. Amadio, R.M., Castellani, I., Sangiorgi, D.: On bisimulations for the asynchronous π–calculus. Theoretical Computer Science 195(2), 291–324 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  3. Berry, G., Boudol, G.: The chemical abstract machine. Theoretical Computer Science 96(1), 217–248 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  4. Fournet, C.: The Join-Calculus: a Calculus for Distributed Mobile Programming. PhD thesis, Ecole Polytechnique (November 1998)

    Google Scholar 

  5. Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the join-calculus. In: Proceedings of POPL 1996, pp. 372–385 (1996)

    Google Scholar 

  6. Fournet, C., Laneve, C., Maranget, L., Rémy, D.: Inheritance in the join calculus. Journal of Logic and Algebraic Programming 57(1-2), 23–69 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  7. Fournet, C., Maranget, L., Laneve, C., Rémy, D.: Implicit typing à la ML for the join-calculus. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, pp. 196–212. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  8. Gardner, P., Laneve, C., Wischik, L.: Linear forwarders. In: Amadio, R.M., Lugiez, D. (eds.) CONCUR 2003. LNCS, vol. 2761, pp. 415–430. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  9. Honda, K., Yoshida, N.: On reduction-based process semantics. Theoretical Computer Science 151(2), 437–486 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  10. Le Fessant, F.: The JoCaml system (1998), http://pauillac.inria.fr/jocaml

  11. Le Fessant, F., Maranget, L.: Optimizing pattern-matching. In: Proceedings of ICFP 2001, pp. 26–37 (2001)

    Google Scholar 

  12. Leroy, X., Doligez, D., Garrigue, J., Rémy, D., Vouillon, J.: The Objective Caml System, version 3.07 (2003), http://caml.inria.fr/

  13. Ma, Q., Maranget, L.: Expressive synchronization types for inheritance in the join calculus. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 20–36. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. Ma, Q., Maranget, L.: Compiling pattern matching in join-patterns. Rapport de recherche 5160, INRIA-Rocquencourt (April 2004), Available at: http://pauillac.inria.fr/~ma/papers/ptjoin-tr.ps

  15. Merro, M., Sangiorgi, D.: On asynchrony in name-passing calculi. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 856–867. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  16. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, parts I and II. Information and Computation 100, 1–77 (1992)

    Google Scholar 

  17. Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, pp. 685–695. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  18. Odersky, M.: Functional nets. In: Smolka, G. (ed.) ESOP 2000 and ETAPS 2000. LNCS, vol. 1782, pp. 1–25. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  19. Odersky, M.: The Scala Language (2002), http://lamp.epfl.ch/~odersky/scala/

  20. Pritchard, P.: On computing the subset graph of a collection of sets. Journal of Algorithms 33(2), 187–203 (1999)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ma, Q., Maranget, L. (2004). Compiling Pattern Matching in Join-Patterns. In: Gardner, P., Yoshida, N. (eds) CONCUR 2004 - Concurrency Theory. CONCUR 2004. Lecture Notes in Computer Science, vol 3170. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-28644-8_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-28644-8_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22940-7

  • Online ISBN: 978-3-540-28644-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics