Jose A. Ortega Ruiz wrote:
in PLT, one can get hold of the value associated with an identifier
exported by a module without statically requiring it, using a procedure
called `dynamic-require'. for instance, if i have
(module geiser scheme (export foo) ---)
calling
(dynamic-require ''geiser 'foo)
from anywhere returns the value of `foo, so, if it's a procedure, one
can call it without requiring the `geiser' module:
((dynamic-require ''geiser 'foo) arg)
guile has an equivalent form, dubbed @... is there a similar mechanism
in ikarus?
Hey Jao!
Ikarus allows local/internal imports.
Ikarus Scheme version 0.0.4-rc1+ (revision 1851, build 2009-08-27)
Copyright (c) 2006-2009 Abdulaziz Ghuloum
> iota
Unhandled exception
Condition components:
1. &undefined
2. &who: eval
3. &message: "unbound variable"
4. &irritants: (iota)
Let's import it inside a 'let':
> (let ()
(import (srfi :1))
iota)
#<procedure iota [char 14435 of /scheme/srfi/%3a1/lists.sls]>
And it's still not visible at the top level:
> iota
Unhandled exception
Condition components:
1. &undefined
2. &who: eval
3. &message: "unbound variable"
4. &irritants: (iota)
>
Does that help?
Ed