[q-lang-users] Libqint and the stability of qexps
Brought to you by:
agraef
From: John C. <co...@cc...> - 2006-06-06 02:01:56
|
I'm wondering whether the Q garbage collector sometimes moves temporary values about. Given the rule "double X = [X, X];" in the current script, if you pass the qexp corresponding to "double [1,2,3]" to qevalx(), are the components of the list that is returned guaranteed to be C-pointer-equal to the list that is passed in? This would seem to be true a priori, but I'd like to have it confirmed. This is important for my Scheme-to-Q connector, since I'd like to memoize the expression (and all its parts) being evaluated so that the elements of the Scheme-level list are EQ? to the Scheme-level argument to "double", rather than being newly constructed on the Scheme side. However, if this is not reliable, I'll have to provide newly constructed lists instead. (I'm assuming that the argument is being passed in is a temporary value.) -- Híggledy-pìggledy / XML programmers John Cowan Try to escape those / I-eighteen-N woes; http://www.ccil.org/~cowan Incontrovertibly / What we need more of is co...@cc... Unicode weenies and / François Yergeaus. |