HaskellImplementorsWorkshop/2013/Yang

From HaskellWiki
< HaskellImplementorsWorkshop‎ | 2013
Revision as of 06:35, 16 September 2013 by Edward Z Yang (talk | contribs) (Created page with "= Resource Limits for Haskell = ''Edward Z. Yang'' Safe Haskell offers the tantalizing possibility of running arbitrary, untrusted code as part of Haskell programs. However,...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Resource Limits for Haskell

Edward Z. Yang

Safe Haskell offers the tantalizing possibility of running arbitrary, untrusted code as part of Haskell programs. However, a major obstacle to this dream is how to bound the time and space usage of such untrusted code. In this talk, we would like to describe a first implementation of a resource limits system for Haskell, which reuses the preexisting conceptual framework GHC has for discussing time and space usage: the cost semantics for profiling.

Our first implementation largely reuses the existing implementation of profiling, and requires relatively few changes to the runtime system. However, profiling imposes a substantial memory and time cost on Haskell programs; thus, we'd also like to describe a partially implemented alternate strategy which utilizes a block-structured heap for what should be dramatic performance improvements. We'd like to pose an open question: how can this scheme be implemented in a *parallel* garbage collector?