On Wed, Sep 16, 2009 at 2:07 AM, <[email protected]> wrote: > > A milestone was passed recently. After months, years > even, of silence on the wire, there are more emails > arriving here from r6rs-discuss than from spam. > > This message is therefore a digest with a few > general remarks before the main point. > > I wish the list had less argument couched in undefined > or misused terms. "Module" is not defined in the report, > and is used only in the rational to describe what was > *not* done. Make a complete SRFI module proposal and > then argue about it. Ditto with other vague terms. > > > From: John Cowan <[email protected]> > > > > you simply must expand macros at the place of use, > > not the place of invocation. > > Is this a typo? I don't understand the difference between > use and invocation. > > "One-pass", "two-pass", and "recursive one-pass", > (whatever the Sam Hill that means), are implementation > techniques. Talk of "one-pass semantics" is confusing, > or confused. The issue, if there is one, is the region > of visibility [r6rs,5.2] of each binding occurrence of > an identifier. > > I assert, and take to be the position of R6RS, > that in each region there is at most one defining > occurrence of each identifier. > > But I hear "What about the REPL? We need to re-define > things!". The REPL should not be standardized, and > there should be no expectation that the *only* thing you > do interactively is to type complete Scheme programs. > > The purpose of a standard is so that we can exchange > progams and libraries. It has no business dictating > what I type to my favorite Scheme on my own computer. > > I don't want a REPL, I want a REPEL (pronounce like > rappel), that is, a read-eval-print and *edit* loop. > To edit a definition that already exists is not at > all like typing it all over again. > > In Perfect Scheme interactive mode if I type: > > (define pi 3.14) > (define pi 22/7) > > a window pops up; it asks if I want to keep the > old definition, replace it with the new, rename > one, or comment one of them out. I can choose > with mouse or keyboard, but *not* by typing more > Scheme code. >
The REPL REPEL should not be standardized! Joke aside I can see your point, nothing stops a repl from allowing redefinitions, but if you think of all globals as pre-existing and of define just as a simple set! then your view of the matter could be is different. This issue is over all irelevent to me. If you are writing library, then you more then likely will namespace your code in one way or another. Considering that some other generic name like PI is not being used somewhere else is, as you put it, "bad programming at best", unless of course that "generic name" is not provided/guarantied somehow by the standard. Standards should not stop people from shooting their foot off. If they do, then people will just figure out rather original ways of blowing their heads off. One of the main beauties of scheme is that the core of it is so small and non-restricting, changing that would be gut the soul of the language. Then again I'm just a hobbyist and nothing stops me from coding in r[4/5]rs. > If I type: > > (* pi pi) > > the computer types > > ;==> 9.8596 > > or maybe > > ;==> 484/49 > > and leaves it there. If I edit the definition of pi, > the computer edits its answer. When I am done editing, > I can mail the final version to you. You will be able > to run it, because it is a standard Scheme top-level > program. > > You have a dumb terminal connected to Toaster Scheme. > When you type the above two definitions, maybe it > overwrites the first with the second. Maybe it > gives you an error message. Maybe it burns the toast. > I don't care. That's between you and your implementation. > It's not in the standard. It may take a while for > you to produce a standard Scheme top-level, but eventually > it's done. You mail it to me and I can run it. > > If there is more than one defintion of pi in the > final result, I will send you a bug report, because > that is bad programming at best, and I hope it > remains a syntax error in R9RS. > > To avoid stupid misunderstandings, there should be > a non-normative appendix that describes a few > ways that interactive mode could work. It should > mention that it is good taste for an implementation > to provide a way to start interactive mode with some > libraries already imported. > > -- Keith > > Pensaran vuestras mercedes ahora que > es poco trabajo hinchar un perro? > -- un loco de Seville > Pensara vuestra merced ahora que > es poco trabajo hacer un libro? > -- Miguel de Cervantes, Don Quijote II > > _______________________________________________ > r6rs-discuss mailing list > [email protected] > http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss >
_______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
