On 09/10/2009 04:11 PM, Brian Harvey wrote: >> So if R7RS >> specifies a REPL it probably needs to make "the very simple model >> of interaction" be optional rather than required. > > Why should it not be "performance and/or compile-time error reporting" > that's optional?
Of course they should be optional. > I think (I could be wrong of course) that this question is at the heart of > the R6 debate. Many people found fault with details of the new stuff in > R6, but those problems didn't give rise to the strong emotional rejection > that some of us -- I, at least -- experienced. I wouldn't be upset because > R6 got the module semantics wrong in some subtle way; I'd just calmly > expect R7 to fix it. But to say that an interactive REPL is secondary, > or optional, or of lesser importance, compared to /anything/, is in my mind > a total hijacking of Scheme. Of course a REPL is a very nice and valuable feature. And of course REPL is compatible with "performance and/or compile-time error reporting" - Kawa has a reaonably nice one for ttys plus a new nice GUI one - see http://per.bothner.com/blog/2007/ReplPane/ I also implemented a REPL for a language/environment where people aren't used to REPLs: http://per.bothner.com/blog/2009/REPL-for-JavaFX/ (This is brings up some issues of REPLs for staticly-bound languages.) But there are at least 3 separate issue in the context of R7RS: (1) Should an implementation be able to (in good faith) call itself "Scheme" if it doesn't have a REPL (or load or eval)? I think the answer should be "yes". (2) Should R7RS specify a REPL and its semantics? That seems reasonable, but a REPL is (IMO) more part of the environment/tools, rather than the language, so it might be more appropriate for a non-normative addendum. (2) What should be the required semantics of a REPL, to the extent it is specified by R7RS? I.e. what is the semantics of "redefinition" or "forward references" in a REPL? I think R7RS needs to be pretty vague on this - i.e. leave a number of things "unspecified". > This is what the WG1/WG2 split should be about. Yes, I want WG1 to produce > a small, beautiful jewel of a standard, but that's not the main thing. The > main thing is that I want WG1 to produce a REPL! Why? Does your favorite implementation not have a REPL? Would having a REPL be specified by WG1 make your programs more portable? What difference to your life would it make whether R7RS specifies a REPL? > I want to be able to work > in Scheme the way I've always worked in Scheme and have been working in Lisp > for 40 years or so. (I wasn't there quite at the beginning.) Nobody wants to take that away from you. -- --Per Bothner [email protected] http://per.bothner.com/ _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
