Abstract
Functional nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They have their theoretical foundation in Join calculus. This paper presents functional nets, reviews Join calculus, and shows how the two relate.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
F. Achermann, M. Lumpe, J.-G. Schneider, and O. Nierstrasz. Piccola-a small composition language. Submitted for Publication, available from http://www.iam.unibe.ch/~scg/Research/Piccola, 1999.
G. Agha, I. A. Mason, S. F. Smith, and C. L. Talcott. A foundation for actor computation. Journal of Functional Programming, 7(1):1–69, 1997.
Z. Ariola and A. Sabry. Correctness of monadic state: An imperative call-by-need calculus. In Proc. 25th ACM Symposium on Principles of Programming Languages, pages 62–74, 1998.
A. Asperti and N. Bussi. Mobile petri nets. Technical Report UBLCS-96-10, University of Bolognia, May 1996.
H. P. Barendregt. The Lambda Calculus: its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, revised edition, 1984.
G. Berry and G. Boudol. The chemical abstract machine. In Proc. 17th ACM Symposium on Principles of Programming Languages, pages 81–94, January 1990.
G. Boudol. Towards a lambda-calculus for concurrent and communicating systems. In J. Díaz and F. Orejas, editors, Proceedings TAPSOFT’ 1989, pages 149–161, New York, March 1989. Springer-Verlag. Lecture Notes in Computer Science 351.
G. Boudol. Asynchrony and the pi-calculus. Research Report 1702, INRIA, May 1992.
G. Boudol. The pi-calculus in direct style. In Proc. 24th ACM Symposium on Principles of Programming Languages, pages 228–241, 1997.
A. Church. The Calculi of Lambda-Conversion, volume 6 of Annals of Mathematics Studies. Princeton University Press, second edition, 1951.
E. Crank and M. Felleisen. Parameter-passing and the lambda-calculus. In Proc. 18th ACM Symposium on Principles of Programming Languages, pages 233–244, January 1991.
U. de’Liguoro and A. Piperno. Non deterministic extensions of untyped λ-calculus. Information and Computation, 122(2):149–177, 1 Nov. 1995.
M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 103:235–271, 1992.
F. L. Fessant. The JoCaml reference manual. INRIA Rocquencourt, 1998. Available from http://join.inria.fr.
C. Fournet and G. Gonthier. The reflexive chemical abstract machine and the join-calculus. In Proc. 23rd ACM Symposium on Principles of Programming Languages, pages 372–385, Jan. 1996.
C. Fournet, G. Gonthier, J.-J. Lévy, L. Maranget, and D. Rémy. A calculus of mobile agents. In 7th International Conference on Concurrency Theory (CONCUR’96), pages 406–421, Pisa, Italy, Aug. 26–29 1996. Springer-Verlag. LNCS 1119.
C. Fournet and L. Maranget. The Join-Calculus Language. INRIA Rocquencourt, 1997. Available from http://join.inria.fr.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
A. Giacalone, P. Mishra, and S. Prasad. Facile: A symmetric integration of concurrent and functional programming. International Journal of Parallel Programming, 18(2):121–160, April 1989.
P. B. Hansen. Structured multiprogramming. Communications of the ACM, 15(7):574–578, July 1972.
C. Hoare. Monitors: An operating system structuring concept. Communications of the ACM, 12(10), Oct. 74.
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs, New Jersey, 1985.
K. Honda and N. Yoshida. On reduction-based process semantics. In Proc. 13th Conf. on Foundations of Softawre Technology and Theoretical Computer Science, pages 373–387, Dec. 1993.
K. Jensen. Coloured Petri Nets. Basic Concepts. EATCS Monographs on Theoretical Computer Science. Springer Verlag, 1992.
P. J. Landin. The next 700 programming languages. Communications of the ACM, 9:157–166, March 1966.
J. McCarthy, P. W. Abrahams, D. J. Edwards, T. P. Hart, and I. L. Levin. Lisp 1.5 Programmer’s Manual. MIT Press, 1969.
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100:1–77, 1992.
M. Odersky, D. Rabin, and P. Hudak. Call-by-name, assignment, and the lambda calculus. In Proc. 20th ACM Symposium on Principles of Programming Languages, pages 43–56, January 1993.
C. Petri. Kommunikation mit Automaten. Schriften des IIM 2, Institut für Instrumentelle Mathematik, Bonn, 1962. English translation: Technical Report RADC-TR-65-377, Vol. 1, Suppl. 1, Applied Data Research, Princeton, New Jersey, Contract AF 30 (602)-3324, 1966.
B. C. Pierce and D. N. Turner. Pict: A programming language based on the pi-calculus. Technical Report CSCI 476, Computer Science Department, Indiana University, 1997.
G. D. Plotkin. Call-by-name, call-by-value, and the λ-calculus. Theoretical Computer Science, 1:125–159, 1975.
W. Reisig. Petri Nets, volume 4 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, 1985.
J. H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN’ 91 Conference on Programming Language Design and Implementation, pages 293–305, June 1991.
A. Sabry and J. Field. Reasoning about explicit and implicit representations of state. In SIPL’ 93 ACM SIGPLAN Workshop on State in Programming Languages, Copenhagen, Denmark, pages 17–30, June 1993. Yale University Research Report YALEU/DCS/RR-968.
G. Smolka, M. Henz, and J. Würtz. Object-oriented concurrent constraint programming in Oz. In P. van Hentenryck and V. Saraswat, editors, Principles and Practice of Constraint Programming, chapter 2, pages 29–48. The MIT Press, 1995.
V. Swarup, U. S. Reddy, and E. Ireland. Assignments for applicative languages. In J. Hughes, editor, Functional Programming Languages and Computer Architecture, pages 192–214. Springer-Verlag, August 1991. Lecture Notes in Computer Science 523.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Odersky, M. (2000). Functional Nets. In: Smolka, G. (eds) Programming Languages and Systems. ESOP 2000. Lecture Notes in Computer Science, vol 1782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46425-5_1
Download citation
DOI: https://doi.org/10.1007/3-540-46425-5_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67262-3
Online ISBN: 978-3-540-46425-9
eBook Packages: Springer Book Archive