module TestFPtr where import IO import Foreign import IOExts main = do f 1000; performGC where f 0 = return () f n = do p <- mallocBytes 64 newForeignPtr p (do free p putStrLn "finalizer!" f (n-1) performGC) return ()