Computer Science – Programming Languages
Scientific paper
2010-09-14
EPTCS 34, 2010, pp. 69-83
Computer Science
Programming Languages
In Proceedings LFMTP 2010, arXiv:1009.2189
Scientific paper
10.4204/EPTCS.34.7
ML5 is a programming language for spatially distributed computing, based on a Curry-Howard correspondence with the modal logic S5. Despite being designed by a correspondence with S5 modal logic, the ML5 programming language differs from the logic in several ways. In this paper, we explain these discrepancies between ML5 and S5 by translating ML5 into a slightly different logic: intuitionistic S5 extended with a lax modality that encapsulates effectful computations in a monad. This translation both explains the existing ML5 design and suggests some simplifications and generalizations. We have formalized our translation within the Agda proof assistant. Rather than formalizing lax S5 as a proof theory, we \emph{embed} it as a universe within the the dependently typed host language, with the universe elimination given by implementing the modal logic's Kripke semantics. This representation technique saves us the work of defining a proof theory for the logic and proving it correct, and additionally allows us to inherit the equational theory of the meta-language, which can be exploited in proving that the semantics validates the operational semantics of ML5.
Harper Robert
Licata Daniel R.
No associations
LandOfFree
A Monadic Formalization of ML5 does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with A Monadic Formalization of ML5, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and A Monadic Formalization of ML5 will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-76520