I don't think Any in the same position is a conflict. This would be more of an 
issue if Julia did not support strong typing, but it does and is a requirement 
of dynamic dispatch. Consider 

function foo( x::Any )

Will never be chosen over

Type Foo end

function foo( x::Foo )

As such I don't get the argument that if I define functions against types I 
define they cause conflicts. 

Being in the position of having implemented a good number of modules and being 
bitten in this way both by my own dev and by changes to other modules I'm very 
concerned with the direction being taken.

I do think formalization of interfaces to modules ( and behaviors) would go a 
long way but expecting a diverse group of people to coordinate is not going to 
happen without strong and enforced constructs. 

As an example I have implemented a document store database interface, this is 
well represented by an associative collection. It also has a few specific 
methods which would apply to many databases. It would be nice to be able to 
share the definition of these common interfaces. I don't advocate adding these 
to base so how should it be done?

Reply via email to