24
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Eff Directly in OCaml

      Preprint
      ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          The language Eff is an OCaml-like language serving as a prototype implementation of the theory of algebraic effects, intended for experimentation with algebraic effects on a large scale. We present the embedding of Eff into OCaml, using the library of delimited continuations or the multicore OCaml branch. We demonstrate the correctness of the embedding denotationally, relying on the tagless-final-style interpreter-based denotational semantics, including the novel, direct denotational semantics of multi-prompt delimited control. The embedding is systematic, lightweight, performant and supports even higher-order, 'dynamic' effects with their polymorphism. OCaml thus may be regarded as another implementation of Eff, broadening the scope and appeal of that language.

          Related collections

          Most cited references10

          • Record: found
          • Abstract: not found
          • Conference Proceedings: not found

          Definitional interpreters for higher-order programming languages

            Bookmark
            • Record: found
            • Abstract: not found
            • Conference Proceedings: not found

            The theory and practice of first-class prompts

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Proving and applying program transformations expressed with second-order patterns

                Bookmark

                Author and article information

                Journal
                30 December 2018
                Article
                10.4204/EPTCS.285.2
                1812.11664
                dbcdb216-2b14-4b26-b981-12d38c26a8f5

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                EPTCS 285, 2018, pp. 23-58
                In Proceedings ML/OCAML 2016, arXiv:1812.10891
                cs.PL cs.LO
                EPTCS

                Theoretical computer science,Programming languages
                Theoretical computer science, Programming languages

                Comments

                Comment on this article