On 10 Sep 2009, at 11:31 pm, Brian Harvey wrote: >> It's a requirement for one style of interactive debugging. >> It may not be practical if you have a compiler that does >> compile-time name binding or inlining or type-checking, for example. > > Grump. Languages should be designed, not by deciding what makes > life easy > for a compiler, but by deciding what makes life easy for the user! > I'll be very, very, very, very, very upset if we end up with a > standard > that breaks the very simple model of interaction that we've had for 50 > years. If you want to have an optional feature that lets you say > (pragma no-redefine) or something in your compiler, that's fine.
Yes. Also, it's possible for a compiler to keep a list of procedures that have inlined a procedure, and re-inline it when it changes. Or for a compiler to flat-out say "If you enable inlining, then please note that our module-reloading behaviour will deviate from the spec in this way, apart from bindings you've tagged with please-dont-linine", which IMHO would be a perfectly acceptible state of affairs. People compiling code probably aren't doing particularly interactive stuff, so will probably know a set of bindings that are intended for rebinding (eg, their plugin APIs). ABS -- Alaric Snell-Pym Work: http://www.snell-systems.co.uk/ Play: http://www.snell-pym.org.uk/alaric/ Blog: http://www.snell-pym.org.uk/archives/author/alaric/ _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
