Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
tools:cpm [2017-04-24 13:46] – [Installing the Curry Package Manager] mh | tools:cpm [2019-01-17 15:26] – [Available Packages] mh | ||
---|---|---|---|
Line 4: | Line 4: | ||
The Curry Package Manager (CPM) is a tool to distribute and | The Curry Package Manager (CPM) is a tool to distribute and | ||
- | install Curry libraries and tools and manage version dependencies | + | install Curry libraries and applications |
between them. | between them. | ||
These libraries are organized in packages. | These libraries are organized in packages. | ||
Line 19: | Line 19: | ||
(w.r.t. its API and behavior) with a previous version of | (w.r.t. its API and behavior) with a previous version of | ||
the same package. | the same package. | ||
+ | |||
+ | ===== Available Packages ===== | ||
+ | |||
+ | There are more than [[http:// | ||
+ | (including more than 600 modules). | ||
+ | There is a [[http:// | ||
+ | with more detailed information (e.g., API documentation). | ||
+ | These packages can immediately be downloaded or installed when CPM is installed (see below). | ||
Line 24: | Line 32: | ||
CPM is already part of recent distributions of the Curry systems | CPM is already part of recent distributions of the Curry systems | ||
- | PAKCS (Version 1.14.3 or higher) and KiCS2 (Version 0.5.2 or higher). | + | [[http:// |
+ | [[http:// | ||
If you have some older version of PAKCS or KiCS2, you can also | If you have some older version of PAKCS or KiCS2, you can also | ||
install CPM from its public repository. | install CPM from its public repository. | ||
Line 38: | Line 47: | ||
3> make | 3> make | ||
- | If this was successful, the binary '' | + | If this was successful, the binary '' |
directory '' | directory '' | ||
- | of tools distributed | + | of applications |
directory '' | directory '' | ||
- | the binary '' | + | the binary '' |
link from some path directory to this binary. | link from some path directory to this binary. | ||
Line 49: | Line 58: | ||
Now you can clone a copy of the central package index repository by | Now you can clone a copy of the central package index repository by | ||
- | > cpm update | + | > cypm update |
Afterwards, you can show a short list of all packages in this index by | Afterwards, you can show a short list of all packages in this index by | ||
- | > cpm list | + | > cypm list |
The command | The command | ||
- | > cpm info PACKAGE | + | > cypm info PACKAGE |
can be used to show more information about a package. | can be used to show more information about a package. | ||
Line 66: | Line 75: | ||
Therefore, to initialize it and use other packages, you need | Therefore, to initialize it and use other packages, you need | ||
a package description file in some project directory. | a package description file in some project directory. | ||
- | All this can be created by the command '' | + | All this can be created by the command '' |
- | > cpm new myproject | + | > cypm new myproject |
This command creates a new project directory '' | This command creates a new project directory '' | ||
containing an initial package description file '' | containing an initial package description file '' | ||
and a subdirectory '' | and a subdirectory '' | ||
- | If you need some other package | + | Change into the new project directory: |
- | add it as a dependency in '' | + | |
+ | > cd myproject | ||
+ | |||
+ | If you need some other packages | ||
+ | add them as a dependency in '' | ||
Then run | Then run | ||
- | > cpm install | + | > cypm install |
to install all dependencies of the current package. | to install all dependencies of the current package. | ||
Afterwards, start your interactive Curry environment by | Afterwards, start your interactive Curry environment by | ||
- | > cpm curry | + | > cypm curry |
and you will be able to load the modules of the current package | and you will be able to load the modules of the current package | ||
Line 89: | Line 102: | ||
so that you can directly load any program you have stored | so that you can directly load any program you have stored | ||
in this directory. | in this directory. | ||
+ | For instance, if the module '' | ||
+ | directory '' | ||
+ | (e.g., KiCS2 or PAKCS) by | ||
+ | |||
+ | > cypm curry :load Main | ||
===== Manual and Further Documentation ===== | ===== Manual and Further Documentation ===== | ||
Line 104: | Line 122: | ||
However, if you have developed some package that might be of | However, if you have developed some package that might be of | ||
interest to other Curry users, please send the package | interest to other Curry users, please send the package | ||
- | as a zip file, or just the package description file | + | as a tar or zip file to |
- | '' | + | |
- | available git archive) | + | |
packages (AT) curry-language.org | packages (AT) curry-language.org |