Hi, is a StablePtr what you are after? http://www.haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/Foreign-StablePtr.html you can pass a stableptr to the foreignptr to C and it won't be freed until you explicitly get rid of the stableptr (and all haskell references are gone) John -- John Meacham - ⑆repetae.net⑆john⑈ - http://notanumber.net/