Hi Simon, > (cfun RNG* new_RNG (ulong seed)) > (cfun double RNG_next_double (RNG* self)) > {cfun_new_RNG, "epi:w_RNG"}, > {cfun_RNG_next_double, "epi:G_next_double"}, > > Everything links fine, but are these functions automatically exposed? > Are there any tips so I can do things like > > (setq r (epi:new_RNG 1))
the functions should be "exposed", if you try (setq r (epi:w_RNG 1)), because that's how you specified the name transformation with the module function. The second arg to module says how the C function names are turned into picolisp function names. By default, they stay the same. In your case '((X) (pack "epi:" (cddr (chop X)))) chops off the first two characters and prepends "epi:". If you want to keep the name as is and prepend "epi:" only, try: (module 'epi '((X) (pack "epi:" X))) That should do the trick;-) Cheers, Tomas -- UNSUBSCRIBE: mailto:[EMAIL PROTECTED]