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

Re: [Scheme-reports] Comments on draft 6 about call/cc



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



For what it's worth, I have thought for some time now that call/cc
is very clever but somehow a bit ... wrong ... as an abstraction.

It's hard to explain fully why, but I suppose it has to do with the
principle of least surprise.  I think it's too fine-grained, too
prone to exposing implementation details, too unintuitive in its
operation, and a poor match for the context-switching and
multithreading implementations of modern hardware and operating
systems.

As it stands there are many things people want to do that call/cc
is *almost* a good way to do.  But most of those things have
lingering problems (like keeping files open while you can still
re-enter a context, but having some guarantee of closing them
when you can't), and when people try implementing these things
with call/cc their code tends to become hairier rather than
simpler as they iteratively approach solutions.

And there are too many people whose design senses I respect
(Graham & Pitman among others) who also don't care for it.

Really, I don't know what to suggest replacing it with.  But it
has been ... suspect ... for some time, I think.


				Bear
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPRSxcAAoJEAOzWkqOibfN2dQH/0Metvcp3et0vLxdwY+x5l8V
27QHnf6Xib4gu6IdK3B6Ztl1ifbLKi5SIPHsWaxj6axBmZWQVXRa6/KVzxz3mqCO
olFiU1oS+oUFBYho0TE4z9WLm+W4LupJnnNj2mKag6LJTS0y//Nxz6duxEnhJEYC
wvkTaS7xw3G2frupvnsm/PXo0B+jujHc7rgAXq5CmWNIosA7Gv97YmCdZO0Pyy0d
0REtjHUBEbZcISN7S/GiCZKTYcGIOp2XMsZkyEYPeeo/9p8xepZrwbphnyqlKt8I
jQM7+PRUlSFS+NUIdGWyXU0anh/hbsdQ3zwb1/jhHwX51h66Mx6cf+KdZXDbIWY=
=NeHH
-----END PGP SIGNATURE-----

_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports