Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tools:cpm [2017-02-01 13:29] – mh | tools:cpm [2017-02-09 15:52] – [Installing the Curry Package Manager] mh | ||
---|---|---|---|
Line 6: | Line 6: | ||
install Curry libraries and manage version dependencies | install Curry libraries and manage version dependencies | ||
between these libraries. | between these libraries. | ||
+ | These libraries are organized in packages. | ||
+ | There is a central index of all these packages which can | ||
+ | easily be downloaded by CPM. | ||
+ | The individual packages are currently not stored in a central | ||
+ | server but their source can be anywhere. | ||
+ | CPM organizes the automatic access to appropriate versions | ||
+ | of these packages so that a user does not need to know | ||
+ | about these details. | ||
+ | |||
+ | CPM also supports //semantic versioning//, | ||
+ | whether a new minor version of a package is consistent | ||
+ | (w.r.t. its API and behavior) with a previous version of | ||
+ | the same package. | ||
+ | |||
===== Installing the Curry Package Manager ===== | ===== Installing the Curry Package Manager ===== | ||
The installation assumes that one of the Curry systems PAKCS or KiCS2 | The installation assumes that one of the Curry systems PAKCS or KiCS2 | ||
- | in installed and the executables '' | + | is installed and the executables '' |
- | If '' | + | (if '' |
- | of the variable | + | of your Curry system by modifying |
- | Otherwise, | + | in the '' |
+ | Then perform the following steps to install CPM: | ||
1> git clone https:// | 1> git clone https:// | ||
Line 20: | Line 35: | ||
If this was successful, the binary '' | If this was successful, the binary '' | ||
- | directory '' | + | directory '' |
in your path or create a symbolic link from some path directory | in your path or create a symbolic link from some path directory | ||
to this binary. | to this binary. | ||
Line 30: | Line 45: | ||
> cpm update | > cpm update | ||
- | 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 | > cpm list | ||
Line 38: | Line 53: | ||
> cpm info PACKAGE | > cpm info PACKAGE | ||
- | can be used to see more information about a package. | + | can be used to show more information about a package. |
In order to use a package in your Curry program which you intend | In order to use a package in your Curry program which you intend | ||
Line 61: | Line 76: | ||
As you will see, an initial package description file '' | As you will see, an initial package description file '' | ||
- | and a subdirectory '' | + | and a subdirectory '' |
- | for your project, | + | for your project, |
Then run | Then run | ||
Line 72: | Line 87: | ||
> cpm curry | > cpm curry | ||
- | and you will be able to load the modules of the used packages. | + | and you will be able to load the modules of the current package |
+ | as well as all dependent | ||
In particular, the source directory '' | In particular, the source directory '' | ||
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 further information, | + | ===== Manual and Further Documentation ===== |
+ | |||
+ | For further information, | ||
+ | |||
+ | A detailed description about CPM and its implementation can be found | ||
+ | in the following thesis: | ||
+ | |||
+ | [[https:// | ||
+ | ===== Uploading and Publishing Packages ===== | ||
+ | |||
+ | Currently, there is no support for automatically uploading | ||
+ | and publishing new packages. | ||
+ | However, if you have developed some package that might be of | ||
+ | interest to other Curry users, please send the package | ||
+ | as a zip file, or just the package description file | ||
+ | '' | ||
+ | available git archive) to | ||
+ | |||
+ | packages (AT) curry-language.org | ||
+ | |||
+ | in order to make it publicly available. | ||