[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.