
28 Aug
2016
28 Aug
'16
3:39 p.m.
On 27 August 2016 at 13:23, Henning Thielemann
I want to write a Haskell interface to a C library that provides two data structures A and B, where B is contained in A. That is, if A is freed, then B is automatically freed, too.
I don't quite understand. Do A and B live in the same buffer and problem in keeping buffer alive as long as there're pointers to A or B. If so it's easy problem and vector solves exactly this problem for storable vectors. Check implementation of basicUnsafeSlice. Idea is to share finalizer between ForeignPtr If they live in different buffers and B should not be collected as long as A lives... I don't know how to implement this.