[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why would anyone want opacity?
| Date: Tue, 14 May 1996 16:32:42 -0400
| From: Matthias Blume <blume@CS.Princeton.EDU>
| Well, no. Because you don't know if the implementation your code is
| eventually running on supports bignums at all. But you are right --
| you can't defend against it anyway, so worrying about it doesn't do
| you any good.
I have no idea what you are talking about here. I was talking about
the assembler in the MIT Scheme compiler. This assembler runs only in
MIT Scheme which _does_ have bignums. The issue of bignums being
present or my having to worry about their presence is therefore moot.
Yes, there are possible Scheme implementations without them. I
consider such implementations deficient (though legal) and I would not
try to run certain programs in them. There are also implemetations
for computers with 64K of memory. I would not try to run ceratin
programs on those either. Either way, so what?
|
| > In your version, I have to, using your words "define a signature for
| > the corresponding algebraic structure". That is work. It is small,
| > perhaps, but it is work.
|
| And it is worthwhile. Not all algebraic structures are equal. Some
| are rings, some are fields, some work according to other laws. Your
| code might depend on that. Scheme takes the single-minded view that
| only the field of complex numbers is worthwhile implemeting -- with
| some extra support for the integer ring. No support whatsoever for
| galois field, polynomial rings, matrices, ... you name it.
I see, so you argument is
"Because you don't support everything that might be useful, you should
not support X that many people find useful".
I find this rather absolutist and puerile.
It takes no more work to support the rest in Scheme than in your
favorite language. Thus by having built-in support for a particular
algebraic structure we have not lost anything but we've given a head
start to those people (perhaps not you) who happen to find it useful.