Facile: A symmetric integration of concurrent and functional programming. Facile is a symmetric integration of concurrent and functional programming. The language supports both function and process abstraction. Functions may be defined and used within processes, and processes can be dynamically created during expression evaluation. In this work we present two different descriptions of the operational semantics of Facile. First, we develop a structural operational semantics for a small core subset of Facile using a labeled transition system. Such a semantics is useful for reasoning about the operational behavior of Facile programs. We then provide an abstract model of implementation for Facile: theConcurrent and Functional Abstract Machine (C-FAM). The C-FAM executes concurrent processes evaluating functional expressions. The implementation semantics includes compilation rules from Facile to C-FAM instructions and execution rules for the abstract machine. This level of semantic description is suitable for those interested in implementations.

References in zbMATH (referenced in 20 articles )

Showing results 1 to 20 of 20.
Sorted by year (citations)

  1. Carpineti, Samuele; Laneve, Cosimo; Padovani, Luca: PiDuce- A project for experimenting web services technologies (2009)
  2. Gardner, Philippa; Laneve, Cosimo; Wischik, Lucian: Linear forwarders (2007)
  3. Jeffrey, Alan S.A.; Rathke, Julian: Contextual equivalence for higher-order pi-calculus revisited (2005)
  4. Hennessy, Matthew: A fully abstract denotational semantics for the $\pi$-calculus (2002)
  5. Priami, Corrado: Language-based performance prediction for distributed and mobile systems (2002)
  6. Yoshida, Nobuko; Hennessy, Matthew: Assigning types to processes (2002)
  7. Sangiorgi, D.: Asynchronous process calculi: The first- and higher-order paradigms (2001)
  8. Degano, Pierpaolo; Priami, Corrado: Non-interleaving semantics for mobile processes (1999)
  9. Ferreira, William; Hennessy, Matthew: A behavioural theory of first-order CML (1999)
  10. Hammond, Kevin (ed.); Michaelson, Greg (ed.): Research directions in parallel functional programming (1999)
  11. Dezani-Ciancaglini, Mariangiola; de’Liguoro, Ugo; Piperno, Adolfo: A filter model for concurrent $\lambda$-calculus (1998)
  12. Ferreira, William; Hennessy, Matthew; Jeffrey, Alan: A theory of weak bisimulation for core CML (1998)
  13. Hartonas, Chrysafis; Hennessy, Matthew: Full abstractness for a functional/concurrent language with higher-order value-passing (1998)
  14. Pitts, Andrew M.; Ross, Joshua R.X.: Process calculus based upon evaluation to committed form (1998)
  15. Gehrke, Thomas; Rensink, Arend: Process creation and full sequential composition in a name-passing calculus (1997)
  16. Glauert, John: Object graph rewriting: An experimental parallel implementation (1997)
  17. Nielson, Flemming; Nielson, Hanne Riis: From CML to its process algebra (1996)
  18. Pierce, Benjamin C.; Rémy, Didier; Turner, David N.: A typed higher-order programming language based on the pi-calculus (1993)
  19. Thomsen, Bent: Plain CHOCS. A second generation calculus for higher order processes (1993)
  20. Prasad, Sanjiva; Giacalone, Alessandro; Mishra, Prateek: Operational and algebraic semantics for facile: A symmetric integration of concurrent and functional programming (1990)