Skip to main content

Coinductive Interpreters for Process Calculi

  • Conference paper
  • First Online:
Book cover Functional and Logic Programming (FLOPS 2002)

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

Included in the following conference series:

Abstract

This paper suggests functional programming languages with coinductive types as suitable devices for prototyping process calculi. The proposed approach is independent of any particular process calculus and makes explicit the different ingredients present in the design of any such calculi. In particular structural aspects of the underlying behaviour model become clearly separated from the interaction structure which defines the synchronisation discipline. The approach is illustrated by the detailed development in Charity of an interpreter for a family of process languages.

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. P. Aczel. Final universes of processes. In Brooks et al, editor, Proc. Math. Foundations of Programming Semantics. Springer Lect. Notes Comp. Sci. (802), 1993. 195

    Google Scholar 

  2. L. S. Barbosa. Process calculi à la Bird-Meertens. In CMCS’01 — Workshop on Coalgebraic Methods in Computer Science, pages 47–66, Genova, April 2001. ENTCS, volume 44.4, Elsevier. 184, 195

    Google Scholar 

  3. R. Bird and O. Moor. The Algebra of Programming. Series in Computer Science. Prentice-Hall International, 1997. 183

    Google Scholar 

  4. R. Cockett and T. Fukushima. About Charity. Yellow Series Report No. 92/480/18, Dep. Computer Science, University of Calgary, June 1992. 183

    Google Scholar 

  5. R. Cockett and D. Spencer. Strong categorical datatypes I. In R.A.G. Seely, editor, Proceedings of Int. Summer Category Theory Meeting, Montréal, Québec, 23–30 June 1991, pages 141–169. AMS, CMS Conf. Proceedings 13, 1992. 185, 193

    Google Scholar 

  6. T. Hagino. A typed lambda calculus with categorical type constructors. In D.H. Pitt, A. Poigné, and D.E. Rydeheard, editors, Category Theory and Computer Science, pages 140–157. Springer Lect. Notes Comp. Sci. (283), 1987. 185

    Google Scholar 

  7. B. Jacobs. Objects and classes, co-algebraically. In C. Lengauer B. Freitag, C.B. Jones and H.-J. Schek, editors, Object-Orientation with Parallelism and Persistence, pages 83–103. Kluwer Academic Publishers, 1996. 185

    Google Scholar 

  8. P. Jansson and J. Jeuring. PolyP-a polytypic programming language extension. In POPL’97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 470–482. ACM Press, 1997. 183

    Google Scholar 

  9. R.B. Kieburtz. Codata and comonads in Haskell. Unpublished manuscript, 1998. 185

    Google Scholar 

  10. A. Kock. Strong functors and monoidal monads. Archiv für Mathematik, 23:113–120, 1972. 185

    Article  MATH  MathSciNet  Google Scholar 

  11. M. Lenisa. Themes in Final Semantics. PhD thesis, Universita de Pisa-Udine, 1998. 195

    Google Scholar 

  12. L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413–425, 1992. 194

    Article  MATH  Google Scholar 

  13. E. Meijer, M. Fokkinga, and R. Paterson. Functional programming with bananas, lenses, envelopes and barbed wire. In J. Hughes, editor, Proceedings of the 1991 ACM Conference on Functional Programming Languages and Computer Architecture, pages 124–144. Springer Lect. Notes Comp. Sci. (523), 1991. 185

    Google Scholar 

  14. R. Milner. Communication and Concurrency. Series in Computer Science. Prentice-Hall International, 1989. 186, 187, 191

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  16. J. Rutten. Universal coalgebra: A theory of systems. Theor. Comp. Sci., 249(1):3–80, 2000. (Revised version of CWI Techn. Rep. CS-R9652, 1996). 184, 185

    Article  MATH  MathSciNet  Google Scholar 

  17. D. Turi and J. Rutten. On the foundations of final coalgebra semantics: non-well-founded sets, partial orders, metric spaces. Mathematical Structures in Computer Science, 8(5):481–540, 1998. 185

    Article  MATH  MathSciNet  Google Scholar 

  18. U. Wolter. A coalgebraic introduction to csp. In II Workshop on Coalgebraic Methods in Computer Science. ENTCS, volume 19, Elsevier, 1999. 195

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barbosa, L.S., Oliveira, J.N. (2002). Coinductive Interpreters for Process Calculi. In: Hu, Z., Rodríguez-Artalejo, M. (eds) Functional and Logic Programming. FLOPS 2002. Lecture Notes in Computer Science, vol 2441. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45788-7_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-45788-7_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44233-2

  • Online ISBN: 978-3-540-45788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics