implication as infix operator



> Maxima wants to see the infix declaration, then the function definition.

1.
Looking at my code ..

(ok!) (%i2) "==>"(p, q) := ((not (p))  or  (q)); 
(ok!) infix ("==>", 41, 41)$ 

.. and that of Otto which both works:
 
(ok!) "=>"(r,s):= not r or s $ infix("=>") $ 

it should be ok with the sequence 'fun-def --> infix-decl'.

2.
But if I copy the last example of infix-help page into wxMaxima I get:

(%i1) "@"(a, b) := sconcat("(", a, ",", b, ")")$
Improper 
function name: "@" -- an error.  To debug this try debugmode(true);(%i2) 

Doing _afterwards_ the following

(%i2) infix ("@", 100, 99)$

and then reevaluate line (%i1) it works! The error above disappers.

Is there a problem with the special symbol 'at-sign'??
This was the essence of my question
(Q3) is there a list of vorbidden/allowed signs for operators? 

HTH Wolfgang

>"Stavros Macrakis" <macrakis at alum.mit.edu> schrieb: On 6/24/07, Robert Dodier
><robert.dodier at gmail.com> wrote:On 6/24/07, van Nek <van.nek at arcor.de> wrote:
>You are correct -- Maxima wants to see the infix declaration,
>then the function definition. I will change the documentation
>for infix accordingly.
>
>If so, this is a bug -- it should be fine to define the operator syntax before or after
>defining its functional value (or not defining it at all). 
>
>But anyway, I haven't been able to reproduce this problem in 5.11 (sorry, I need to
>update...)
>
>"##"(a,b) := a^2/b$
>"##"(4,5) => 16/5
>infix("##")$
>4##5 => 16/5 
>a##b := a-b$       redefine functional value
>3##2 => 1