Peter Bex scripsit: > That's not their main usefulness. The main usefulness is that you can > treat them like any other _pointer_ type, yet they can be kept apart > if you want to by checking the tag.
Quite so. They are pointers, but the tag allows you to factor them into Scheme-detectable types without losing their pointer nature. In essence, they let you subtype pointers. > My main concern, after giving it some more thought, is that you can't > easily make the FFI check the pointer type, unless you enforce that > pointer tags are somehow either compile-time constants, or also stored > in some global that's directly accessible to the FFI. As someone who has used them in the past, I would be quite content to require that tags be symbols. -- John Cowan http://www.ccil.org/~cowan co...@ccil.org Consider the matter of Analytic Philosophy. Dennett and Bennett are well-known. Dennett rarely or never cites Bennett, so Bennett rarely or never cites Dennett. There is also one Dummett. By their works shall ye know them. However, just as no trinities have fourth persons (Zeppo Marx notwithstanding), Bummett is hardly known by his works. Indeed, Bummett does not exist. It is part of the function of this and other e-mail messages, therefore, to do what they can to create him. _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers