Ray Dillinger scripsit: > The ability to write and read back while in a semantically invalid > state is not a deficit: it can be very useful for, eg, debugging, > or for freezing a running image.
Good point. It might be a Good Thing to have a SRFI that specifies serialize-record and deserialize-record procedures that use appropriate extended syntax and can break the record abstraction. The implementation of this feature would be implementation-specific, of course. > If you can actually write a program that *NEVER* puts the record > into a semantically invalid state (even between the third and > seventh step of a "simple" operation) then no, you'll never have > a need to save and restore that state. But I don't think that's > a reasonable demand to make. No, it's not, which is why we need ways to make sure that constructors and (high-level) mutators can run atomically with respect to an object. This can't be settled until we figure out whether we have shared-all, shared-nothing, or some other semantics for threads. > > (One of the many reasons I don't like > > low-level macros is that I believe that in principle a Scheme compiler > > should be possible that has no Scheme evaluation environment inside.) > > I very emphatically do not share this belief. Well, it's certainly possible for any version of Scheme from R2RS to R5RS inclusive: none of them require evaluation of arbitrary Scheme code at compile time. You could sit down and write a Scheme compiler in pure C, with lex and yacc and all that there, or even in Perl: only social pressure keeps such things from happening. -- They do not preach John Cowan that their God will rouse them [email protected] A little before the nuts work loose. http://www.ccil.org/~cowan They do not teach that His Pity allows them --Rudyard Kipling, to drop their job when they damn-well choose. "The Sons of Martha" _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
