I found a nice way of implementing loading blackhole via the extensions init file, and still having a seperate bsc/gsc command pair, by symbolically linking bsc -> gsc, and putting:
(if (equal? (car (command-line)) "bsc") (and (load "~~/lib/modules/build") (display "loaded blackhole extensions...") (newline)) #!void)
In my /usr/local/Gambit-C/lib/gambcext file.
That's really neat! I would write it like this: (and (equal? (car (command-line)) "bsc") (load "~~lib/modules/build") (let () (##namespace ("module#")) (##include "~~lib/gambit#.scm") (println "Loaded Black Hole..."))) This leaves room for users to add custom load-time configuration, for instance (and (equal? (car (command-line)) "bsc") (load "~~lib/modules/build") (let () (##namespace ("module#")) (##include "~~lib/gambit#.scm") (module-resolver-add! 'user (package-module-resolver "~/.blackhole")) (println "Loaded Black Hole..."))) What do you think? /Per