On 14 June 2010 16:27, Eli Barzilay <e...@barzilay.org> wrote:

> On Jun 14, Brian Harvey wrote:
>
> language to support teams of 500 lousy programmers.
>
> What I understood from David is that when he uses `map' in his code,
> he will never pass it a function that is not his too.


No. I simply never expose an encapsulated list structure to potentially
malicious code. That is not the same thing as your understanding. I often
provide type-specific map combinators *entirely* so that my encapsulations
are not violated. Such is the big win of using a HOmF language like Scheme.

If a user of one of my libraries wants to make their own list of my objects
and then clobber its structure that's entirely her own business, but I don't
provide access to *my* lists through *my* APIs.

Seems that I need to repeat this a fifth time:
>

No, you don't. You have advocated a position which actually *removes* the
ability to mutate one of the two basic aggregate types in Scheme. This seems
rather arbitrary, and wrong-headed (due to knock-on effects) in light of
things like breaking mutable a-lists. Scheme is a language which allows free
mutation of bindings and primitive objects. Immutable pairs is a big step on
a slippery slope to a very different language.

currently (RnRS) Scheme is guessing wrong in >99% of the
> cases, and it makes it extremely hard for me to correct it.
>

This is FUD. The occurrence of the class of bugs for which you have
highlighted the potential is *far* (orders of magnitude) lower than this.
You have a point, and it is a real problem from a provability standpoint,
but practically it just doesn't happen that often. The whole point of using
a map combinator is so that you can abstract away from aggregate structure:
anyone who is mutating the aggregate structure which is being operated on by
the combinator has fundamentally *missed the point* and should be hung,
drawn, and quartered (or at least made to fix the damn bug himself).

david
-- 
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports

Reply via email to