<div dir="ltr"><p>I'm working on an SDL binding for PLT Scheme, and could use a hand understanding some error messages.</p><p>As it currently stands I'm using (require scheme/foreign)(unsafe!) in two seperate modules, sdl and sdl-gfx. I'm using (provide (all-defined-out)) across the board. When both of the aforementioned modules are <b>require</b>d at the same time, say as might be done in "display-test" module, scheme complains about ffi-lib already being imported from a different source. For me this has occured in any situation where I have multiple modules that are defining foreign libraries.</p>
<p>Removing (unsafe!) from the scheme/foreign import, and placing all the foreign library definitions defined with ffi-lib within a single module clears this up however. Is (unsafe!) introducing new bindings into the lexical context of the module, and if so is the proper solution to abandon (all-defined-out) for something more specific?</p>
<p>-- Levi Smith</p></div>