This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Keith Wright <kwright@tiac.net> writes: > mdj> Personally, I'd prefer to discuss things on the other list, since > I'd like to put more time into writing code instead of talking. > > Coding is Good. I don't know why the time required for discussion > should depend upon the list The fact is that it does. Discussions were more concentrated when they were pursued on the developer's list. I guess this is because it has fewer and more initiated participants. But now we've agreed that we'll continue to discuss implementation issues on the guile list. > I don't much care about O-O extensions to Scheme, because I think > it works fine without them, and because they are a subject of much > obscure argument with no theorem at the end. I do care about Guile, > and would hate to see it crufted up. We'll minimize extra cruft. However, object orientation is an important and useful programming paradigm, so it is clearly worth the sacrifice of a few extra bytes in libguile. > mdj> I would very much like Guile to be a Scheme interpreter + useful > libraries. I'm much more afraid of language bloat than of code bloat. > mdj> I'd also like the Guile language (whatever that will finally be) > to be easy to compile to efficient code. > mdj> I don't think the new set! syntax is useful enough to motivate > the added complexity to the language and the new constraints for new > Guile interpreters and compilers. > > I am agreeing with all this. Did the discussion finally result in > consensus on a plan that meets these goals? ... Not exactly. We found a way to limit the effect of generalized locations on the language. The new set! will only influence set! itself and will add a new procedure type. The rest of the interpreter is unaffected. It will also be possible to compile to efficient code. > mdj> It's a bit sad that I'm the only one that previously tried to protect > the simplicity of the language. > > ... Or did the advocates of complicated cruft beat you down? Yes - I have this weakness that good arguments sometimes works on me. ;-) > kwright> (1) Whatever it is, don't call [setf!] SET!, > that name is taken by RnRS. When the new module system arrives and Guile is factorized, there will be an RnRS module. That will contain a "pure" `set!'. The default user environment in Guile will however include additional modules which will export the extended `set!'. The module system facilities should make it possible to use the pure `set!' if that is the user's wish. Since the new `set!' is a natural generalization of the "pure" `set!' it is natural to give it the same name. What we get with the new `set!' is a useful and natural generalization of `set!' at low cost of implementation with few restrictions on the interpreter and compiler and which is possible to compile to efficient code. /mdj