A contextual semantics for concurrent Haskell with futures

  • In this paper we analyze the semantics of a higher-order functional language with concurrent threads, monadic IO and synchronizing variables as in Concurrent Haskell. To assure declarativeness of concurrent programming we extend the language by implicit, monadic, and concurrent futures. As semantic model we introduce and analyze the process calculus CHF, which represents a typed core language of Concurrent Haskell extended by concurrent futures. Evaluation in CHF is defined by a small-step reduction relation. Using contextual equivalence based on may- and should-convergence as program equivalence, we show that various transformations preserve program equivalence. We establish a context lemma easing those correctness proofs. An important result is that call-by-need and call-by-name evaluation are equivalent in CHF, since they induce the same program equivalence. Finally we show that the monad laws hold in CHF under mild restrictions on Haskell’s seq-operator, which for instance justifies the use of the do-notation.

Volltext Dateien herunterladen

Metadaten exportieren

Weitere Dienste

Teilen auf Twitter Suche bei Google Scholar
Metadaten
Verfasserangaben:David SabelORCiDGND, Manfred Schmidt-SchaußORCiDGND
URN:urn:nbn:de:hebis:30-115457
URL:http://www.ki.informatik.uni-frankfurt.de/papers/frank/frank-44.pdf
Titel des übergeordneten Werkes (Englisch):Technical report Frank / Johann-Wolfgang-Goethe-Universität, Fachbereich Informatik und Mathematik, Institut für Informatik ; 44
Schriftenreihe (Bandnummer):Technical report Frank / Johann-Wolfgang-Goethe-Universität, Fachbereich Informatik und Mathematik, Institut für Informatik (44)
Verlag:Johann Wolfgang Goethe-Univ., Fachbereich Informatik und Mathematik, Inst. für Informatik, Research group for Artificial Intelligence and Software Technology
Verlagsort:Frankfurt [am Main]
Dokumentart:Arbeitspapier
Sprache:Englisch
Datum der Veröffentlichung (online):14.03.2011
Datum der Erstveröffentlichung:14.03.2011
Veröffentlichende Institution:Universitätsbibliothek Johann Christian Senckenberg
Datum der Freischaltung:15.09.2011
Seitenzahl:53
Erste Seite:1
Letzte Seite:53
HeBIS-PPN:27709089X
Institute:Informatik und Mathematik / Informatik
DDC-Klassifikation:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik
Sammlungen:Universitätspublikationen
Lizenz (Deutsch):License LogoDeutsches Urheberrecht