On Tuesday, February 25, 2014 7:14:37 AM UTC-5, David Moon wrote:
>
>
> The advantage of making it an explicit concept in the language, rather 
> than just defining a method that signals an error, is that it can be 
> checked at compile time.
>

In Julia, compile time is load time.  Specifically, after evaluating a 
top-level expression (which may have loaded a whole lot of files) check 
each newly defined datatype or bitstype to see if there are any required 
methods that involve that type or its supertypes.  If so, check if an 
instance of the newly defined type would have all the required methods 
applicable to it in the appropriate argument position.

Reply via email to