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

Re: Why would anyone want opacity?

[Apologies for the previous message: Emacs key-slippage.]

Matthias Blume wrote:

> This can all be done with sum types. [...]
> If you want to write a piece of code in ML where you want to leave the
> number type and the primitive operations over those numbers open, then
> you write it as a functor. [...]
> Furthermore, what you want to do here can easily be done by, again,
> using a functor. [...]
> So I wouldn't consider this taking anything away.  But new rules are
> new rules, and sometimes one has to change an old habit or two in
> order to comply.

I, for one, am rather unsure about exactly what Matthias Blume is
trying to say here (in general).  It sounds like he would like Scheme
to adopt some form of static type-checking (if not, why else does he
repeatedly talk about it?).  Perhaps he would like the adoption of an
ML-style module system too.  Indeed, he feels that little will be lost
in adopting these systems, with the implication that such an adoption
should be considered.

If this is not his intent, then I'm unsure of his point.  Surely it's
not merely education, since many in this discussion _know_ what he's
talking about; they just don't want to accept it into Scheme.

But adding all -- even some -- of these things to Scheme will
radically alter the nature of the language.  Go far enough along that
line, and the only thing to distinguish Scheme and ML will be their
syntax.  So I can't imagine this is what he wants either.

What's the bottom-line, then?  What's the agenda?