William Stein wrote:
> On Wed, Mar 11, 2009 at 8:14 PM, Alex Ghitza <aghi...@gmail.com> wrote:
>> On Thu, Mar 12, 2009 at 2:03 PM, Jason Grout <jason-s...@creativetrax.com>
>> wrote:
>>> seber...@spawar.navy.mil wrote:
>>>> Carl
>>>>
>>>> Mathematica seems to have been successful with this approach.  I'm
>>>> curious what were the reasons for its disapproval.  Perhaps it was
>>>> feared it was error prone?
>>>
>>> Along with the other reasons people are giving, it may be helpful to
>>> remember that it is may be less error-prone in MMA.  For example,
>>> parentheses in Sage can denote function calling as well as grouping,
>>> while they only denote grouping in MMA.  With implicit multiplication,
>>> func (x) and func(x) are both valid in Sage, but have different
>>> meanings.  In MMA, they both are multiplication, like you'd expect from
>>> math.
>> ???  so you're saying that in Mathematica sin(x) means sin times x?  That's
>> not what I'd expect from math...
>>
>> I must be misreading what you wrote.
>>
>> Alex
>>
> 
> OMFG!
> 
> wst...@sage:~$ sage
> ----------------------------------------------------------------------
> | Sage Version 3.3, Release Date: 2009-02-21                         |
> | Type notebook() for the GUI, and license() for information.        |
> ----------------------------------------------------------------------
> sage: mathematica('sin(x)')
> sin*x
> 
> sage: !math
> Mathematica 6.0 for Linux x86 (64-bit)
> Copyright 1988-2007 Wolfram Research, Inc.
> 
> In[1]:= sin(x)
> 
> Out[1]= sin x
> 

Remembering the consistent rule that all system functions are in 
Camelcase gets you a helpful warning:


Mathematica 7.0 for Linux x86 (32-bit)
Copyright 1988-2008 Wolfram Research, Inc.

In[1]:= Sin (x)

Syntax::bktwrn:
    "Sin (x)" represents multiplication; use "Sin [x]" to represent a 
function.


Out[1]= Sin x


Still, +1 for consistency and separating function calls "[]" from 
grouping "()".  However, -1 for violating the body of mathematical 
literature that (sometimes ambiguously) uses () for both function calls 
and grouping, as well as using [] for grouping as well...

Anyways, this is turning pointless to me.  We aren't changing Sage to be 
like MMA with regard to [], {}, and (); no one here has agreed it would 
be a good idea and we'd massively break python compatibility, which 
would be a fatal price to pay, in my opinion.  Sage has its quirks as 
far as standard math usage goes as well: using 0-based indices for 
matrices, using a period to denote function application on objects, etc. 
  Each system has things that need to be learned (or unlearned) to use 
it.  One of the keys is if we can make it consistent enough that it 
isn't a pain to the user.

Jason


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

Reply via email to