View Item 
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        Browse

        All of UU Student Theses RepositoryBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

        Modular Semantics for Algebraic Effects

        Thumbnail
        View/Open
        Modular Semantics for Algebraic Effects (Niek Mulleners).pdf (547.3Kb)
        Publication date
        2020
        Author
        Mulleners, N.
        Metadata
        Show full item record
        Summary
        An important part of writing programs is to ensure that these programs behave as expected. Oftentimes, unit tests are written to show that parts of a program behave correctly in specific cases. Rather than resort to testing only some cases, we can use formal verification to prove that our program behaves correctly in all possible cases. Purely functional programming languages allow us to reason about programs as mathematical functions, but they do not contain side effects (impure operations). Using free monads, we can introduce the syntax of impure operations into a pure programming language, allowing one to syntactically define programs containing side effects. To execute and reason about such programs, we define semantics for the free monad by interpreting their impure operations within a target monad. By defining semantics in terms of monad transformers, combining them comes down to building up a monad transformer stack, and the choice of base monad gives rise to different kinds of semantics. This lets us write and reason about programs containing a variety of side effects in a modular way.
        URI
        https://studenttheses.uu.nl/handle/20.500.12932/37758
        Collections
        • Theses
        Utrecht university logo