From: Jay Belanger <belanger@truman.edu>
To: emacs-devel@gnu.org
Cc: belanger@truman.edu
Subject: Re: Calc: `*' binds more strongly than `/'
Date: Tue, 17 Apr 2007 13:54:34 -0500 [thread overview]
Message-ID: <87abx6u905.fsf@truman.edu> (raw)
In-Reply-To: 863b2z2mma.fsf@blue.stonehenge.com
merlyn@stonehenge.com (Randal L. Schwartz) writes:
>>>>>> "Stefan" == Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Stefan> After Emacs-22, we should probably just change the precedence to be the
> Stefan> "normal" one.
>
> No, not normal for mathemeticians (and me on a bad day), who expect A*B/C*D to
> be the same as (A*B)/(C*D).
Really? If I saw A*B/C*D, the main thing I'd be thinking is "Gee, I
wish parentheses were put in."
> I suggest it not be changed. It will break old code (Calc has been around for
> almost two decades), it's a minor thing, and people have eventually stumbled
> on it, and it's well (over?) documented.
Is there any old code that relies on the current order of operations?
I just tried out 2*3/4*5 on a TI-86 and HP48; they both gave me 7.5.
I don't have a TI myself, so I used a student's. There were several
grad students around, most of whom will eventually teach high school.
When I asked them what "2*3/4*5" should mean, I had a hard time getting an
answer. They kept saying "You're missing parentheses" or "what are
you trying to write?"; when I finally asked how they would interpret
it if they saw it on a paper, one student said "I'd write 'minus one,
bad notation'". I think she's right.
Traditionally, I think * and / are supposed to have identical
precedence, and when mixed should be performed left to right. But
I think writing A*B/C*D when you mean A*(B/C)*D is poor notation. I
also think writing A*B/C*D when you mean (A*B)/(C*D) is poor notation,
but a couple of people have said that it's a convenient shortcut that
saves the trouble of typing in parentheses. So perhaps there's
something to be said for the current behavior.
Jay
next prev parent reply other threads:[~2007-04-17 18:54 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-14 11:57 Calc: `*' binds more strongly than `/' Christian Schlauer
2007-04-14 15:09 ` Jay Belanger
2007-04-15 19:21 ` Chong Yidong
2007-04-15 20:05 ` Stefan Monnier
2007-04-17 12:47 ` Randal L. Schwartz
2007-04-17 18:03 ` Stefan Monnier
2007-04-18 8:44 ` Kim F. Storm
2007-04-18 19:27 ` Stefan Monnier
2007-04-18 20:02 ` Davis Herring
2007-04-18 20:16 ` David Kastrup
2007-04-18 21:43 ` Davis Herring
2007-04-19 16:10 ` Stefan Monnier
2007-04-20 11:13 ` Randal L. Schwartz
2007-04-20 13:40 ` Stefan Monnier
2007-04-20 14:07 ` Jay Belanger
2007-04-22 1:31 ` Miles Bader
2007-04-22 10:19 ` Christian Schlauer
2007-04-22 10:23 ` Christian Schlauer
2007-04-22 19:47 ` Jay Belanger
2007-04-23 10:46 ` Jason Rumney
2007-04-23 13:03 ` Kim F. Storm
2007-04-23 15:54 ` Jay Belanger
2007-04-25 19:56 ` Christian Schlauer
2007-04-25 20:54 ` Jay Belanger
2007-04-26 3:35 ` Stefan Monnier
2007-04-26 4:06 ` Jay Belanger
2007-04-26 14:11 ` Stefan Monnier
2007-04-26 21:07 ` Christian Schlauer
2007-04-26 15:07 ` Davis Herring
2007-04-26 16:01 ` Stefan Monnier
2007-04-26 18:32 ` Luc Teirlinck
2007-04-26 21:29 ` Christian Schlauer
2007-04-26 23:17 ` Luc Teirlinck
2007-04-26 21:07 ` Christian Schlauer
2007-04-27 1:27 ` Jay Belanger
2007-04-26 17:47 ` Davis Herring
2007-06-20 15:23 ` Jay Belanger
2007-06-20 16:02 ` Kim F. Storm
2007-06-20 17:13 ` Jay Belanger
2007-06-20 17:29 ` Luc Teirlinck
2007-06-20 17:54 ` Jay Belanger
2007-06-20 19:14 ` Kim F. Storm
2007-06-20 19:28 ` Luc Teirlinck
2007-06-20 20:18 ` Jay Belanger
2007-04-17 18:54 ` Jay Belanger [this message]
2007-04-18 21:55 ` Christian Schlauer
2007-04-19 2:58 ` Daniel Brockman
2007-04-22 10:27 ` Christian Schlauer
2007-04-26 16:00 ` Daniel Brockman
2007-04-19 15:16 ` Drew Adams
2007-04-19 17:05 ` David Kastrup
2007-04-19 17:18 ` Drew Adams
2007-04-19 17:33 ` David Kastrup
2007-04-16 15:38 ` Richard Stallman
2007-04-17 12:47 ` Randal L. Schwartz
2007-04-18 21:29 ` Christian Schlauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87abx6u905.fsf@truman.edu \
--to=belanger@truman.edu \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.