@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 freed, 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…