[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why would anyone want opacity?



From: "Guillermo J. Rozas" <gjr@martigny.ai.mit.edu>
Subject: Re: Why would anyone want opacity?
Date: Mon, 13 May 96 20:17:22 -0400

> |   My version saves *you* work.  Your version saves the compiler (or the
> |   linker) some work.
> 
> This is nonsense.  My version saves me work because I code it
> naturally and don't need to worry about whether an integer fits in the
> words of this machine or not.  It will work regardless.

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.

> 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 am really starting to think that you reject anything I say only
> because _I_ have said it, instead of any other reason.  It is getting
> rather boring.

Now, this is getting ridiculous.  There is no need to feel personally
offended.  I thought what we have here is some sort of exchange of
opinions.  We both seem to be rather thick-headed, so you shouldn't be
surprised that I constantly reject your views (because you constantly
try to attack mine).  Sorry, but if this is offending you then I will
stop arguing.

> At any rate, people are writing OS-level code in C and assembly
> language.  Does this make either of these good examples of language
> design?

No.  I was just explaining why and how Int32 got into the initial
basis.

-Matthias