The Revenge of Finalizers
Ross Paterson
ross at soi.city.ac.uk
Thu Oct 17 09:51:38 EDT 2002
On Thu, Oct 17, 2002 at 01:42:47PM +0100, Alastair Reid wrote:
> Ross Paterson <ross at soi.city.ac.uk> writes:
> > there's an unsafe use in evalName(),
>
> I think this is easily fixed by using malloc to allocate the buffer
> and then tracking down all uses and calling free.
OK -- there only 20 of those.
> > and I don't understand the mutual recursion between eval() and run().
>
> [...]
> Without studying the code in detail, I believe that this recursion is
> safe because run is a critical part of non-monadic evaluation - if
> there were problems here, we'd have found them a long time ago. Of
> course, this naive belief might be shattered if I were to actually
> look at the code in detail.
It seems then that the invariant you proposed can be established without
too much trouble. But Simon's bug is a whole other can of worms.
More information about the FFI
mailing list