Path: utzoo!utgpu!watserv1!watmath!att!pacbell!pacbell.com!ucsd!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!ncar!midway!tank!stephen From: stephen@estragon.uchicago.edu (Stephen P Spackman) Newsgroups: comp.arch Subject: Re: Killer Micro II Message-ID: Date: 7 Sep 90 02:54:15 GMT References: <527@llnl.LLNL.GOV> <603@array.UUCP> <2482@l.cc.purdue.edu> <2497@l.cc.purdue.edu> <3755@osc.COM> <3945@bingvaxu.cc.binghamton.edu> Sender: news@midway.uchicago.edu (News Administrator) Organization: University of Chicago CILS Lines: 44 In-Reply-To: vu0310@bingvaxu.cc.binghamton.edu's message of 6 Sep 90 20:43:16 GMT In article <3945@bingvaxu.cc.binghamton.edu> vu0310@bingvaxu.cc.binghamton.edu (R. Kym Horsell) writes: >Another interesting area is hardware support for arbitrary-precision real >numbers. Of course that brings up the dreaded word `closure', at which point >most C programmers throw up their hands. Some day i'll write a nifty tech >report about it. Then maybe i can bribe a hardware guy to add a couple >instructions to some math co-processor. Yeah right. Eh? ``Closure'' may be used in a technical sense here (and, if so, has a meaning I never came across) but _usually_ is a term for ``pure code + environment'' (c.f. Lisp & friends). What this has to specifically do with FP and APA I _don't know_. (I endorse any handling of closures by hardware, however -- it's cheap in terms of Si & well worth it in terms of performance improvements in certain areas). No, you got it right. If you look at the *constructive* definition of the real numbers (as opposed to the usual classical definition - in general you will find that construtivism is the better choice for computation anyway because the logic doesn't insist on the relevance of the uncomputable), you'll see that they fit hand-in-glove with computation. WITHOUT APPROXIMATION. That's right, you heard it, the constructive formulation permits EXACT computation with EXACT reals. The place the closures come into it is this: that a constructive real is (well, after a certain amount of normalisation) a FUNCTION from the number of bits of precision you need to the bits themselves. You so the computation; the result is a function; and you start printing. When the user gets tired of reading digits, she hits ^C (well, I suppose you could use format statements instead :-). Ta-dah! They have two problems; the first is slowth, and the second is that the damned things aren't (for technical reasons having to do with decidability, roughly speaking) totally ordered (there're numbers with no SIGN, for example, because they're unordered w.r.t 0 - but they're all pretty damned small!). But you haven't LIVED 'til you've coded up the One True Real Number System on your friendly neighbourhood scheme.... Just another bit of too-little-known conceptual technology.... stephen p spackman stephen@estragon.uchicago.edu 312.702.3982