context-specific namespace references ------------------------------------- Context-specific namespace references are looked up in the namespace of the type where they are used. Here are some example uses: Common values for types and "defaults": typedef PageSize = (float w h); PageSize PageSize:A4 = (210, 297); PageSize PageSize:USLetter = (215.9, 279.4); PageSize:_ = :A4; PageSize pg = :_; // _ is the "default" Enumerations values: typedef bool = (false=0, true=1); bool a = :false; () f(bool x); f(:true); TODO: How should default parameters be implemented? Can a special form of context-specific parameters be used? For example: () f(bool x); meta f:x:_ = :false; f(._); // access to f:x:_ // Note: We can access stuff outside the designated namespace! // Is this a good idea? Maybe it's better to have a special syntax: () f(bool x=:false); f(_);