This is the mail archive of the guile@sourceware.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]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]