
On 1/16/11 12:43 PM, Henning Thielemann wrote:
Maciej Piechotka schrieb:
I agree that there are advantages of both ways and they are perfectly compatible with each other. While I don't know about GHC internals I'd assume that class v-tables (term borrowed from C++ I'm not sure about Haskell terminology) is per-class and not copied for each function invocation.
"Method dictionary"
Perhaps I missed it, but I don't see anything in that page clarifying whether the actual underlying table is shared (i.e., the dictionary is just a pointer to a global table) or not (i.e., the dictionary is a constructed copy of the table). As far as the surface language is concerned the distinction doesn't matter, but as far as people worrying about performance considerations due to the size of dictionaries it does. -- Live well, ~wren