
Paul L
The open question is whether there exists such a solution that's both elegant and efficient at maintain proper sharing in the object language.
What is your criterion for "efficient"?
We certainly can get rid of all interpretive overheads by either having a "tagless" interpreter (as in Oleg and Shan's paper), or by direct compilation.
(BTW, the paper is by Jacques Carette, Oleg Kiselyov, and Chung-chieh Shan.)
But so far I don't see how a tagless interpreter could handle sharing when it can't be distinguished in the host language.
Indeed, I would agree with those on this thread who have stated that sharing should be distinguished in the host language. -- Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig We want our revolution, and we want it now! -- Marat/Sade We want our revolution, and we'll take it at such time as you've gotten around to delivering it -- Haskell programmer