On 9 January 2015 at 19:27, Keean Schupke <[email protected]> wrote: >> When an instance value is passed explicitly, we still have a place in >> the code that identifies which functions need to be specialised, and >> what they need to be specialised against. >> >> If implicit resolution is guided by TLS, dictionaries must /always/ be >> maintained, even if they are never used. The alternative is >> specialising all of the code for each dynamic contour. > > > It sounds like we are saying the same thing. For specialisation to occur in > any arbitrary function there must be only one global instance for any given > type. It requires coherence. > > If instances are incoherent, you need to indicate which one to use by > passing value, which prevents specialisation if the value is first class, > because you don't know from which context the current function will be > called.
We are saying the opposite thing. Static specialisation of explicit instance resolution does not require coherence because there is still a static location where the specialisation can occur. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to DENY YOU THOSE RIGHTS would be illegal without prior contractual agreement. _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
