[mercury-users] Circular lists
Richard A. O'Keefe
ok at cs.rmit.edu.au
Thu Nov 27 15:30:27 AEDT 1997
I guess we could emit a warning every time you return a string from C
code, or pass or return a complex type from C code,
Why are these things dangerous? In Quintus Prolog, passing strings in either
direction was guaranteed safe, thanks to copying. In ESH, a very nice Scheme
system from Sun, passing C data structures to Scheme and back again works
but to do anything
more would require impossible analysis of the C code itself (and
separate compilation only makes the problems worse).
You apparently envisage checking arbitrary code;
I envisage checking _checkable_ code. If the code is for some reason
impossible to analyse, that is in itself a danger sign.
More information about the users