
@leif Async channels (or any operations that can block) cannot be used in atomic mode

For your earlier question, if a C function returns a string that needs to be free
d, then the only way to push the call to free
to Racket’s responsibility is to use a finalizer

have a super noob raco
question but the docs don’t help me. How do I get raco setup
to install dependent packages from info.rkt
?

@d_run raco setup
only compiles files and collections, it doesn’t know anything about packages, you need to use raco pkg install
for that

raco pkg install --link /some/dir
will let you install a local package

and using the --auto
flag will automatically install all dependencies (by default it prompts you asking if you want to install them)

thinking of a way to be able to scan info.rkt
for deps
and pass them to raco pkg install

raco pkg install
should do that automatically

hmm ok

if you’ve already installed the package and then added new dependencies to info.rkt
though, I think you need to do something with raco pkg update
instead

ok, for some reason never grokked that from the docs

the docs for package management and installation for package authors could use some better organization

imo it’s something of an oversight that raco setup
does not ensure deps are still properly installed, even if a local info.rkt
file changes after the package is initially installed

only raco pkg install
and raco pkg update
will check for missing deps

and it’s even weirder because raco setup
can check to see if your packages have missing deps…