On Sun, Aug 30, 2009 at 10:27:26AM -0700, Kon Lovett wrote: > The "environments" extension is tolerated but not > endorsed. As an example, the "apropos" extension does not use the > "environments" extension but instead relies on undocumented calls.
That's a good sign that something's wrong. If the apropos egg did not exist and I would have to write it, I'd start by using the environments egg. If that doesn't work, I'd consider the environments egg broken. > I suggest re-opening the debate. Consider it re-opened ;) I'm trying to make an URI dispatcher which is based on the new uri-dispatch egg. This egg uses the environments egg to obtain bindings to procedures after checking in a whitelist if the procedure is allowed to be called. In order not to pollute the webserver's environment, I put some helper functions inside a module, which exports only the procedure that is in the whitelist. It looks like this: (module foo (foo-proc) (define helper ...) (define another-helper ...) ;; much more helpers here (define (foo-proc . args) (helper ...)) ) (import foo) (whitelist! 'foo) This way, I can have several other web pages on which perhaps the same helper names are used without causing name clashes (which is exactly what modules were invented for). Cheers, Peter -- http://sjamaan.ath.cx -- "The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music." -- Donald Knuth
pgpO1g7e1sYpd.pgp
Description: PGP signature
_______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
