2010/6/3 Stuart Halloway <stuart.hallo...@gmail.com>

> 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.
>
>
I think I clearly understand the benefits of namespaces in this case. I was
reacting to Meikel's sentence:

"And redefining things in foreign namespaces is rather not a technique we
should support..."

Stu, I don't see how your answers succeeds in explaining the above sentence.

-- 
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