This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: Guile modularity (was Re: message primitive)
"Greg J. Badros" <gjb@cs.washington.edu> writes:
> I'm just concerned about how primitives that aren't to be in the R5RS
> module are forced to *not* be available in that module. Does the
> current module system handle this, or are you just talking about planns
> for the new module system?
Ah, I see. Well, the current module system doesn't even work, so I
don't think it would be a good idea to keep it. Jim has showed
examples of where seemingly reasonable expressions give unintelligible
results.
There has been plans for a very long time to replace it. Josts
efforts on top-level environments is a good step forward to being able
to implement a real module system.
> I don't know what format from format.scm is supposed to do, since it's
> lacking documentation. Is it just CLisp-style format?
I think (but am not sure) it is format from slib, so have a look at
slib.info. I think it supports a most of Common LISP format's
abilities, but not all.
> I'm fine w/ making simple-format a subset of format.scm's, but then we
> need all the error messages to use the new escape sequences (probably
> pretty easy, but it still needs to be done).
Indeed.
> Can you propose the restricted version of format that you're waving
> hands at?
Yes,
Substitute ~A for %s and ~S for %S, otherwise do as you had planned
(with the exception of calling it "format" instead of "simple-format").
*** Of course this is only my opinions. We should ask Maciej before
implementing the change.
From slib.info:
Implemented CL Format Control Directives
........................................
Documentation syntax: Uppercase characters represent the corresponding
control directive characters. Lowercase characters represent control
directive parameter descriptions.
`~A'
Any (print as `display' does).
`~@A'
left pad.
`~MINCOL,COLINC,MINPAD,PADCHARA'
full padding.
`~S'
S-expression (print as `write' does).
`~@S'
left pad.
`~MINCOL,COLINC,MINPAD,PADCHARS'
full padding.