Because Julia uses multiple dispatch, an effort is being made to ensure that 
all functions always mean the same thing. So the mathematical case affects the 
non-mathematical case.

I'm checking out of this conversation now so that I can get back to my actual 
job. I'm confident Stefan will make a good decision about this in due time.

 -- John

On Jul 3, 2014, at 8:34 AM, yi lu <zhiwudazhanjiang...@gmail.com> wrote:

> When you talk about convention, you regard julia language as a programming 
> language like MATLAB or a more general purpose language? Again, it is all 
> about string concatenation, not operations on a ring.
> 
> 
> On Thu, Jul 3, 2014 at 11:13 PM, John Myles White <johnmyleswh...@gmail.com> 
> wrote:
> That is true, but the convention exists nonetheless. Consider, for example, 
> this branch of the combinatorics literature: 
> http://en.wikipedia.org/wiki/Square-free_word 
>  -- John
> 
> 
> On Jul 3, 2014, at 8:09 AM, yi lu <zhiwudazhanjiang...@gmail.com> wrote:
> 
>> I know abstract algebra. When talking about string concatenation, a monoid 
>> is enough. It is true that in a ring, "+" is a commutative operator, and "*" 
>> no commutative required, however, a ring is far beyond what needed to do a 
>> string concatenation job.
>> 
>> 
>> On Thu, Jul 3, 2014 at 10:59 PM, John Myles White <johnmyleswh...@gmail.com> 
>> wrote:
>> This is just the standard convention in mathematics. See just about any 
>> textbook on abstract algebra for a discussion of the reasons.
>> 
>> I think it's safe to say that `+` will never be string concatenation, so 
>> it's better to focus energy on other proposals.
>> 
>>  -- John
>> 
>> On Jul 3, 2014, at 7:57 AM, yi lu <zhiwudazhanjiang...@gmail.com> wrote:
>> 
>>> @John I know that "*" means no commutative, but I see no reason "+" has a 
>>> meaning of commutative.
>>> 
>>> 
>>> On Thu, Jul 3, 2014 at 10:53 PM, Stefan Karpinski <ste...@karpinski.org> 
>>> wrote:
>>> That's even worse.
>>> 
>>> 
>>> On Thu, Jul 3, 2014 at 10:52 AM, yi lu <zhiwudazhanjiang...@gmail.com> 
>>> wrote:
>>> I will vote for "+", although I learn mathematics. Maybe that is why I am 
>>> not a mathematician.
>>> 
>>> Yi
>>> 
>>> 
>>> On Thu, Jul 3, 2014 at 10:45 PM, Stefan Karpinski <ste...@karpinski.org> 
>>> wrote:
>>> On Thu, Jul 3, 2014 at 9:42 AM, Ivar Nesje <iva...@gmail.com> wrote:
>>> We should really create a simple system where you can get those hints 
>>> printed in the REPL, without defining more methods.
>>> 
>>> Yes, I think we should really pursue this avenue.
>>> 
>>> For what it's worth – and perhaps something since I'm the original 
>>> perpetrator of the str*str concatenation syntax – I've come to regret this 
>>> operator choice. My reasoning at this point is that we want our operators 
>>> to have fairly "pure" meanings. I chose str*str because concatenation can 
>>> be viewed as a kind of multiplication in the ring of string patterns 
>>> (alternation in the regex sense is the addition operation, the empty string 
>>> is the unit and the non-matching pattern is the zero). However, many 
>>> operations can be viewed as a form of multiplication. In the max-plus 
>>> algebra, for example, addition is the multiplication operator. So, at this 
>>> point I think we should stick to very pure classical meanings for operators 
>>> in Base – the Base.* function should be just addition of numbers in the 
>>> classical sense, not the broader sense of addition in any conceivable ring.
>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

Reply via email to