Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!sunybcs!bingvaxu!leah!itsgw!batcomputer!pyramid!voder!apple!bcase From: bcase@apple.UUCP (Brian Case) Newsgroups: comp.arch Subject: Re: Wirth's "challenge" (overflows) Message-ID: <6743@apple.UUCP> Date: Sun, 15-Nov-87 21:10:14 EST Article-I.D.: apple.6743 Posted: Sun Nov 15 21:10:14 1987 Date-Received: Tue, 17-Nov-87 02:27:34 EST References: <1656@geac.UUCP> <863@winchester.UUCP> <197@m2.mfci.UUCP> <902@mips.UUCP> <8933@utzoo.UUCP> Reply-To: bcase@apple.UUCP (Brian Case) Organization: Apple Computer Inc., Cupertino, USA Lines: 33 Keywords: integeroverflow, European attitudes Very early in the design of the Am29000, it was decided that instructions for integer arithmetic would be provided in both trap-on-overflow and no-trap-on-overflow versions. Without question, the thrust behind this decision came from Ole Moller, a Dane who has returned to his native Denmark. Ole was incredibly wonderful to work with: he had a real grasp of and desire for simplicity. He also had a real sensitivity to run-time checking. I am not trying to pigeon-hole people or sound negative in any way, but in general, I find that Europeans tend to have a real sympathy for run-time checking. I can't name one American, off the top of my head, to whom I would attribute the same concern. At least the concern would not, to me, be the distinguishing feature that, to me, it so often is in Europeans. Ole also first suggested that the Am29000 have assert instructions (many people can only think of them as "compare and trap" but the effect is really "trap if assertion is false") to support Ada-like constructs. This group of instructions became the cornerstone of the procedure-call mechanism we devised. The Am29000 has probably got way too many add and subtract instructions; while I was at AMD and making presentations to various groups, we got plenty of strange looks and laughingly-said remarks like "What the hell are these for?" In at least one case, the most caustic remarks came from some influential computer scientists. Whatever you think of these instrucdions, there is no incremental cost to trap 32-bit, two's complement, integer arithmeitc overflow. I guess the point is that while there is no less concern in America for correct programs, run-time checking is much more acceptable to the European mind-set. I hope I haven't offended anyone. Please feel free to set me straight if I deserve to be so set. I heard Wirth speak at ASPLOS, and although I really don't agree with him, I thought that it was good that he was there to represent the "other side." Comments?