> The above point has been answered to Christophe. I was not talking about the 
> way that namespacing will reduce the problem by allowing different function 
> names (with probably different semantics) to live in different namespaces. 
> This is no different than distinguishing 2 ordinary functions with the same 
> name, living in different namespaces, from the caller's point of vue.
>  
> 
> And redefining things in foreign namespaces is rather not a
> technique we should support...
> 
> Eh? Does that make sense?
> 
> No, I don't understand your last point.
> 
> How can the expression problem be claimed to be (almost) solved, if only the 
> owner of a protocol and of a namespace can extend the protocol on types ?

In languages that conflate classes and namespaces, there can be only one place 
to hang a definition. So, e.g., you and I can both define a method 
"correct-spelling" for strings. Mine returns an array of possible American 
English spellings, and yours returns the best match Spanish spelling. 

Consumers are screwed: they can have either my method, or yours, but not both. 
And the "last in wins" mechanism is utterly confusing as a tiebreaker.

Contrast that with com.relevance.american-english/correct-spelling vs. 
org.example.spanish/correct-spelling. Consumers have a clear way of choosing 
the one they want, or using both!

That is a solution to the expression problem. You seem to be asking for a 
solution to something else: How do I prevent two people from saying that X 
means two different things? That isn't the expression problem, and it isn't 
solvable unless you allow only one person.

Stu

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to