Re: Overloading StringJoin

*To*: mathgroup at smc.vnet.net*Subject*: [mg109868] Re: Overloading StringJoin*From*: Bill Rowe <readnews at sbcglobal.net>*Date*: Thu, 20 May 2010 06:39:35 -0400 (EDT)

On 5/19/10 at 7:02 AM, madler at alumni.caltech.edu (Mark Adler) wrote: >Chris pointed out the Notation package. I hadn't noticed that >before. (I probably haven't noticed about 90% of what Mathematica >can do.) So now I can do something like: ><< Notation` >InfixNotation[NotationTemplateTag[**], Join] >{1, 2} ** {3, 4} >{1, 2, 3, 4} >I'm sure that there's something wrong with using ** as well, but >anyway you get the idea. Yes, ** already has a built-in meaning See ref/NonCommutativeMultiply >I can make up my own symbol. If you start with some symbol the first thing you should do is check to see if what you want to use already has a meaning in Mathematica by looking it up in the Documentation Center. But you can avoid conflicts and using the Notation package by simply selecting one of the symbols Mathematica knows about but that have no pre-defined meaning such as CirclePlus. See tutorial/OtherMathematicalNotation for a list of operators Mathematica knows but do not have pre-defined meaning. Other references that relevant to this are: tutorial/Operators and tutorial/InputAndOutputInNotebooksOverview