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

Reply via email to