guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

use-modules: selecting, which symbols not to load


From: Panicz Maciej Godek
Subject: use-modules: selecting, which symbols not to load
Date: Thu, 27 Dec 2012 04:43:16 +0100

Hey,
I've been thinking about the ways `use-modules` can be used.
Namely, one can import selected symbols from a module, and
additionally can rename specified symbols.

What I've been lacking is specifying symbols that are NOT meant
to be imported from a module.
So I'd wish to be able to load modules in the following manner:

(use-modules ((rnrs) #:version (6) #:without (write display)))

I think it can sometimes be desirable to import the whole public
interface except certain bindings. Of course, similar effect could
be worked around by writing a smart renamer, such as
(use-modules ((rnrs) #:version (6)
  #:renamer (lambda(name)
                     (if (or (equal? name 'write) (equal? name 'display))
                        (symbol-append 'unused: name)
                        name)))

but it's much more complicated, and it creates some unnecessary
garbage. If I really wanted to exclude those two symbols, I'd need
to import all the remaining symbols from the module, which would
be bothersome and require me to change my header as the module
changes.
Or maybe there is an easy way to exclude certain symbols from
import-list?

Best regards!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]