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 <http://en.wikipedia.org/wiki/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.