II Programming with Curry

Chapter 5 Managing Curry Packages

There are many libraries and tools for Curry that are not distributed with an available Curry system but can be accessed via the Curry package system. Currently, more than one hundred packages are available. Some of them contain small libraries, others contain quite complex tools, like the Curry preprocessor. The Curry Package Manager (CPM), which is part of the Curry systems PAKCS and KiCS2, eases the access and use of these packages. In the following, the basic use of CPM is explained. A detailed description of all features of CPM can be found in its user manual.

The executable of the Curry Package Manager is named cypm and located in the bin directory of PAKCS or KiCS2. When you use CPM for the first time, execute

> cypm update

to download a local copy of the index of all available packages. A list of all packages in this index can be shown by the list command:

> cypm list
Name             Synopsis                                         Version
----             --------                                         -------
abstract-curry   Libraries to deal with AbstractCurry programs     3.0.0
abstract-haskell Libraries to represent Haskell programs in Curry  3.0.0
addtypes         A tool to add missing type signatures in a Curry  3.0.0
                 program
...

The command

> cypm info PACKAGE

can be used to show more information about the package with name PACKAGE.