On Mon, Jun 27, 2011 at 8:23 AM, Chris Seberino <cseber...@gmail.com> wrote:
>
>
> On Jun 24, 11:59 pm, Jason Grout <jason-s...@creativetrax.com> wrote:
>> sage: implicit_mul('diff(f,x)(3)', level=10)
>> 'diff(f,x)*(3)'
>>
>> which is definitely not what I intended.
>
> Jason
>
> Would you agree a good robust solution to your issue would be for an
> implicit_mul level that *ONLY* converted spaces to multiplication?  In
> other words....
>
> This should work...
>
> (1 + 2) (3 + 4) # Notice space between parens.
>
> This should/would give an error...
>
> (1 + 2)(3 + 4) # Notice no space between parens.

That doesn't solve the call mangling issue:

sage: f(x) = x+1
sage: g(x) = x^2
sage: var('a,b')
(a, b)
sage: (f) (a)
a + 1
sage: f + g
x |--> x^2 + x + 1
sage: (f + g) (a + b)
(a + b)^2 + a + b + 1

> I reread the implicit_mul docs at 
> http://www.sagemath.org/doc/reference/sage/misc/preparser.html
> and I cannot find a level between 3 and 10 that does this.

The levels aren't tight so that we can add levels if needed, however I
think it's a bad idea for the default level to make syntactically
valid Python into something that has a totally different meaning.

- Robert

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to