BEGIN:VCALENDAR
VERSION:2.0
PRODID:researchseminars.org
CALSCALE:GREGORIAN
X-WR-CALNAME:researchseminars.org
BEGIN:VEVENT
SUMMARY:Andrej Bauer (University of Ljubljana)
DTSTART:20201007T140000Z
DTEND:20201007T150000Z
DTSTAMP:20260423T021137Z
UID:OWLS/7
DESCRIPTION:Title: <a href="https://researchseminars.org/talk/OWLS/7/">Eff
 ects in the real world</a>\nby Andrej Bauer (University of Ljubljana) as p
 art of Online Worldwide Seminar on Logic and Semantics (OWLS)\n\n\nAbstrac
 t\nJoint work with Danel Ahman\, University of Ljubljana (https://danel.ah
 man.ee/).\n\nIn modern languages\, computational effects are often structu
 red using monads or algebraic effects and handlers. These mechanisms excel
  at implementation of computational effects within the language itself. Fo
 r instance\, the familiar implementation of mutable state in terms of stat
 e-passing functions requires no native state\, and can be implemented eith
 er as a monad or using handlers. One is naturally drawn to using these tec
 hniques also for dealing with actual effects\, such as manipulation of nat
 ive memory and access to hardware. These are represented inside the langua
 ge as algebraic operations or a monad\, but treated specially by the langu
 age's top-level runtime\, which invokes corresponding operating system fun
 ctionality. While this approach works in practice\, one wishes that the in
 genuity of the language implementors were better supported by a more flexi
 ble methodology with a sound theoretical footing.\n\nWe address the issue 
 by showing how to design a programming language based on runners of algebr
 aic effects. We review runners\, recast them as a programming construct\, 
 and present a calculus that captures the core ideas of programming with th
 em. Through examples of runners we show how they capture both the interact
 ion between the program and the external world\, and encapsulation of prog
 rams in virtual environments that tightly control access to external resou
 rces and provide strong guarantees of proper resource finalization.\n\nWe 
 accompanied our work with a prototype programming language Coop (https://g
 ithub.com/andrejbauer/coop) and a Haskell library for runners (https://git
 hub.com/danelahman/haskell-coop).\n\nReferences:\n\n - https://arxiv.org/a
 bs/1910.11629\n\n - https://github.com/andrejbauer/coop\n\n - https://gith
 ub.com/danelahman/haskell-coop\n
LOCATION:https://researchseminars.org/talk/OWLS/7/
END:VEVENT
END:VCALENDAR
