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

Re: Why would anyone want opacity?



|   Date: Mon, 13 May 1996 15:21:47 -0400
|   From: Matthias Blume <blume@CS.Princeton.EDU>

|   > Why not make it the default?  I can only imagine efficiency being the
|   > issue, and there are ways to overcome that.  In addition, having to
|   > detect overflow causes the same level of inefficiency.
|
|   Detecting overflow doesn't cause any overhead on many machines,
|   because they have integer instructions that trap on overflow.

So?  There are machines that do not.  There are also machines that
have "tagged-add" and "tagged-subtract" that check the tags and trap
on overflow.  The issue is not of inherent inefficiency, but of
efficient mapping to the particular architecture at hand.

Should a language be designed purely based on how well it maps to a
couple of machines' instruction sets?

|   > Right, and then I would have had to modify the assembler instead of
|   > using it verbatim.  Which version is saving me work?
|
|   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.

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.

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.

|   It is what users are asking for.  They are writing OS-level code in ML
|   (see FoxNet).  Is anybody writing OS-level code in R4RS Scheme?

Probably not because R4RS Scheme is too limited to make this task
simple.  However, it is possible.

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?