Re: CirclePlus precedence and bigoplus
- To: mathgroup at smc.vnet.net
- Subject: [mg36298] Re: CirclePlus precedence and bigoplus
- From: lscharen at d.umn.edu (Lucas)
- Date: Fri, 30 Aug 2002 01:19:24 -0400 (EDT)
- References: <akkbvs$7u2$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
> Lucas,
>
> I'm certainly not competent to give you any answer, and me too, I'd be eager
> to hear such -- hoped Wolfram's to react; anyway, here is my opinion.
>
> PrecedenceForm is only for parenthesizing at output.
>
> Although we have MakeExpressions to add semantic actions to the Mathematica
> "compiler" (if we may call such the transformation from input string, i.e.
> "language", to the internal representation as indicated by FullForm i.e.
> "code"), we cannot influence the Mathematica syntax proper, i.e. parsing.
> The operator precedence rules however are part of that (esp. needed for box
> formation). So I can't see a way to reach your goal.
>
> Now, I don't know what your ordinary Plus shall designate. If it's only
> abstract, i.e. you don't use it for numeric calculation, you possibly might
> interchange the roles of Plus and CirclePlus
>
> In[6]:= a \[CirclePlus] b + c \[CirclePlus] d
> Out[6]= a\[CirclePlus]b + c\[CirclePlus]d
>
> As for BigCirclePlus (if you still need it after the reassigned meanings)
> I'd try to define a palette, but perhaps this is not possible to the extend
> you desire. I never tried.
>
> Another approach would be to use Union and Intersection for "low precedence"
> plus and low "precedence times" (or \[Subset]; \[Superset] or \[And]; \[Or]
> or \[Therefore];\[Because] or ...).
>
> The ultima ratio is to write a new front end.
>
> But, if I were you, I'd ignore these kind of problems at first and set up
> the package fully functioning (with 1D input), apply it to your problems and
> investigations, and finally, when time comes to publishing, at output
> formatting you have quite a lot of choices.
>
> I'm sorry, just wanted to keep the discussion alive, since anyway, this is
> of much interest.
Thank you for the insight. The "back-end" manipulation of my notation
is actually quite simple -- just a list of expressions. If I had an
appropriate OutputForm written then the effect would be:
{expr1, expr2, ..., exprN} --> expr1 \[CirclePlus] expr2 \[CirclePlus]
...
So certainly I cn get a functional package, but the final product
should be notationally similar to the pure mathematical reference.
I'm sure this is a goal shared by many.
If anyone is curious about what exactly I'm up to, I'm attempting to
implement a Clocked Objective Function package based (primarily) on
these publications:
A Lagrangian Formulation of Neural Networks I: Theory and Analog
Dynamics
A Lagrangian Formulation of Neural Networks II: Clocked Objective
Functions and Applications
Both are found in Neural, Parallel and Scientific Computations 6
(1998) 297-372, authors are Eric Mjolsness and Willard L. Miranker
Thanks for all you help,
-Lucas Scharenbroich
-JPL / MLS Group