Message241896
| Author |
refi64 |
| Recipients |
belopolsky, ethan.furman, gdr@garethrees.org, mark.dickinson, refi64, serhiy.storchaka, terry.reedy |
| Date |
2015年04月23日.23:17:51 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<CAO41-mPUL6PqK4tBjScdp2wLThcgv+1Xes+N1+HjUM7FAtV+Cg@mail.gmail.com> |
| In-reply-to |
<1429828312.6.0.848079947333.issue14376@psf.upfronthosting.co.za> |
| Content |
>
> "errors should not pass silently"
>
> The "fix" makes the problem worse.
>
> Why would anyone want to pass a long integer to exit?
>
> I bet the user who discovered this problem had something like 0L or 1L
> coming from a lazily written C extension.
Or the person is using a Python code generator that makes everything a long
for portability reasons! Hy does this.
int and long are supposed to be indistinguishable. Quote by Guido from the
time when I figured out the re module's group function doesn't take longs:
...but any place where an int is accepted but a long is not, is a bug. The
language has been on a long trip to making the two types interchangeable
and this seems one of the last remnants.
Notice the word *interchangeable*.
Also, I find that the current behavior is even more confusing. |
|