Plugging a Space Leak with an Arrow

  • Authors:
  • Hai Liu;Paul Hudak

  • Affiliations:
  • Department of Computer Science, Yale University, New Haven, CT 06511, U.S.A.;Department of Computer Science, Yale University, New Haven, CT 06511, U.S.A.

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2007

Quantified Score

Hi-index 0.02

Visualization

Abstract

The implementation of conceptually continuous signals in functional reactive programming (FRP) is studied in detail. We show that recursive signals in standard implementations using streams and continuations lead to potentially serious time and space leaks under conventional call-by-need evaluation. However, by moving to the level of signal functions, and structuring the design around arrows, this class of time and space leaks can be avoided. We further show that the use of optimal reduction can also avoid the problem, at the expense of a much more complex evaluator.