• Home
  • Search
  • Monadic encapsulation of effects: a revised approach (extended version)
  • Cite Icon41
  • https://doi.org/10.1017/s0956796801004154Copy DOI Icon

Monadic encapsulation of effects: a revised approach (extended version)

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Launchbury and Peyton Jones came up with an ingenious idea for embedding regions of imperative programming in a pure functional language like Haskell. The key idea was based on a simple modification of Hindley-Milner's type system. Our first contribution is to propose a more natural encapsulation construct exploiting higher-order kinds, which achieves the same encapsulation effect, but avoids the ad hoc type parameter of the original proposal. The second contribution is a type safety result for encapsulation of strict state using both the original encapsulation construct and the newly introduced one. We establish this result in a more expressive context than the original proposal, namely in the context of the higher-order lambda-calculus. The third contribution is a type safety result for encapsulation of lazy state in the higher-order lambda-calculus. This result resolves an outstanding open problem on which previous proof attempts failed. In all cases, we formalize the intended implementations as simple big-step operational semantics on untyped terms, which capture interesting implementation details not captured by the reduction semantics proposed previously.

Similar Papers
  • Research Article
  • Citations11

Compositional explanation of types and algorithmic debugging of type errors

  • Oct 01, 2001
  • ACM SIGPLAN Notices
  • Olaf Chitil
  • Research Article

Let Generalization, Polymorphic Recursion, and Variable Minimization in Boolean-Kinded Type Systems

  • Jan 08, 2026
  • Proceedings of the ACM on Programming Languages
  • Joseph Zullo
  • Conference Article
  • Citations9

Typing the wild in Erlang

  • Sep 29, 2018
  • Nachiappan Valliappan +1
  • Research Article
  • Citations3

Relating typability and expressiveness in finite-rank intersection type systems (extended abstract)

  • Sep 01, 1999
  • ACM SIGPLAN Notices
  • Assaf J Kfoury +3
  • Research Article
  • Citations31

Programming with binders and indexed data-types

  • Jan 18, 2012
  • ACM SIGPLAN Notices
  • Andrew Cave +1
  • Research Article
  • Citations6

An Unboxed Operational Semantics for ML Polymorphism

  • Jan 01, 1997
  • LISP and Symbolic Computation
  • Atsushi Ohori +1
  • Conference Article
  • Citations82

Tagless staged interpreters for typed languages

  • Sep 17, 2002
  • Emir Pašaliε +2
  • Conference Article
  • Citations6

Haskell-style overloading is NP-hard

  • May 16, 1994
  • D.M Volpano
  • Book Chapter
  • Citations5

The Simply-Typed Pure Pattern Type System Ensures Strong Normalization

  • Jan 01, 2004
  • Benjamin Wack
  • Book Chapter
  • Citations2

Finite Subtype Inference with Explicit Polymorphism

  • Jan 01, 1998
  • Dominic Duggan
  • Supplementary Content

Co-Contextual Type Systems: Contextless Deductive Reasoning for Correct Incremental Type Checking

  • Mar 02, 2020
  • TUbilio (Technical University of Darmstadt)
  • Edlira Kuci
  • Conference Article
  • Citations1

On Applications of Dependent Types to Parameterised Digital Signal Processing Circuits

  • Aug 09, 2021
  • Craig Ramsay +2
  • Book Chapter
  • Citations6

Heap Slicing Using Type Systems

  • Jan 01, 2012
  • Mohamed A El-Zawawy
  • Research Article
  • Citations103

A practical soft type system for scheme

  • Jan 01, 1997
  • ACM Transactions on Programming Languages and Systems
  • Andrew K Wright +1
  • Research Article
  • Citations1

An “executable” impredicative semantics for the Ada configuration

  • Mar 01, 1993
  • Formal Aspects of Computing
  • A Bucci +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.