Julian Graham <jool...@gmail.com> writes: > Incidentally, my naive attempt to refine the behavior of > `beautify-user-module!' straight-up failed: > > guile> (define m (resolve-module '(foo))) > guile> (let ((interface (make-module 31))) > ... (set-module-name! interface (module-name m)) > ... (set-module-kind! interface 'interface) > ... (set-module-public-interface! m interface)) > #f > guile> (set-module-uses! m '((guile) :select (if))) > ((guile) :select (if)) > guile> (set-current-module m) > #<directory (guile-user) b7d61630> > guile> if > Segmentation fault
I haven't managed to test this yet, but I think your `(set-module-uses! m '((guile) :select (if)))' should be `(set-module-uses! m (list (resolve-interface '(guile) #:select '(if))))'. (And we should also add type-checking to set-module-uses!) Regards, Neil