Semantics of value recursion for monadic input/output

被引:3
作者
Erkök, L [1 ]
Launchbury, J [1 ]
Moran, A [1 ]
机构
[1] OHSU, OGI Sch Sci & Engn, Portland, OR 97201 USA
来源
RAIRO-THEORETICAL INFORMATICS AND APPLICATIONS | 2002年 / 36卷 / 02期
关键词
D O I
10.1051/ita:2002008
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Monads have been employed in programming languages for modeling various language features, most importantly those that involve side effects. In particular, Haskell's IO monad provides access to I/O operations and mutable variables, without compromising referential transparency. Cyclic definitions that involve monadic computations give rise to the concept of value - recursion, where the fixed-point computation takes place only over the values, without repeating or losing effects. In this paper, we describe a semantics for a lazy language based on Haskell, supporting monadic I /O, mutable variables, usual recursive definitions, and value recursion. Our semantics is composed of two layers : a natural semantics for the functional layer, and a labeled transition semantics for the IO layer.
引用
收藏
页码:155 / 180
页数:26
相关论文
共 32 条
  • [1] ACHTEN P, 2000, P 12 INT WORKSH IMPL, P194
  • [2] Ariola Z. M., 1997, Theoretical Aspects of Computer Software. Third International Symposium, TACS '97. Proceedings, P77, DOI 10.1007/BFb0014548
  • [3] BENTON N, 2002, FIX POINTS COMP SCI
  • [4] BJESSE P, 1998, INT C FUNCT PROGR BA
  • [5] ERKOK L., 2002, THESIS OHSU PORTLAND
  • [6] ERKOK L, 2001, FIX POINTS COMP SCI
  • [7] ERKOK L, 2000, P 5 ACM SIGPLAN INT, P174
  • [8] THE REVISED REPORT ON THE SYNTACTIC THEORIES OF SEQUENTIAL CONTROL AND STATE
    FELLEISEN, M
    HIEB, R
    [J]. THEORETICAL COMPUTER SCIENCE, 1992, 103 (02) : 235 - 271
  • [9] GORDON AD, 1994, DISTINGUISHED DISSER
  • [10] Hasegawa M, 1997, LECT NOTES COMPUT SC, V1210, P196