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.

Reply via email to