aplteam / Tatin

Tatin is a package manager for Dyalog APL
MIT License
25 stars 5 forks source link

"Remove" required #125

Open aplteam opened 1 year ago

aplteam commented 1 year ago

Once a package is loaded into either ⎕SE._tatin or #._tatin there is no way to get rid of it.

There is a need for this: when a rarely used and expensive package (in terms of memory usage) is loaded and executed, the user command must be able to get rid of it when it has reason to assume that it is not used anytime soon again.

It should accept only the names of principal packages, but it should also remove dependencies that are not required by other packages.

I don't think that this has to be a user command, an API function should suffice.

aplteam commented 1 year ago

Is RemovePackagesFrom_tatin a good name?

{noOfPackagesRemoved}←{parent} RemovePackagesFrom_tatin packages

parent should default to # but can be ⎕SE instead. Must not be anything else.

packages is a simple character vector holding the name(s) of one or more comma-separated packages.

The names may be fully or partly qualified, but if a partly qualified name matches more than one package an error will be thrown.

aplteam commented 3 weeks ago

The name should be ]Tatin.UnLoad