Introducing CPM - the Curry Package Manager

From: Michael Hanus <>
Date: Thu, 22 Jun 2017 14:46:06 +0200


I'd like to inform about a new useful tool for
developing Curry programs. In order to get
more structure in the growing number of Curry
libraries, tools, and applications, we developed
a new package manager for Curry, called CPM.

An overview on CPM and a user's manual is available at

Currently, there are more than fifty packages available
(including more than 400 modules). An up-to-date table of
all packages can be found at

Since PAKCS Version 1.15.0 and KiCS2 Version 0.6.0, CPM is part
of the distribution. If you use an older version, you can install
CPM from the repository with a simple "make" as described in

Due to the availability of CPM, most tools shipped with previous
Curry distributions are now available as package so that they
can be installed with a simple CPM command. For instance,
the most recent version of the CurryBrowser can be installed
by the shell command

> cpm update && cpm installapp currybrowse

Similarly to Cabal and other package managers,
you can easily use modules contained in other packages
by specifying the dependency in a metadata file
and run `cpm install` to automatically download and install
all required packages.

In contrast to other package managers, CPM supports semantic
versioning by comparing the semantics of different versions
of a package with the property-based test tool CurryCheck.

Your are welcome to develop your own packages to be included
into the package database. Currently, there is no support
for automatically uploading and publishing new packages, but
you can send the package as a tar or zip file to

    packages (AT)

so that it will be stored in CPM's package server.
However, we plan to automate this process in the future.

Have fun and do not hesitate to send comments or suggestions
to improve CPM.

Best regards,

curry mailing list
Received on Do Jun 22 2017 - 14:48:30 CEST

This archive was generated by hypermail 2.3.0 : Do Jun 20 2024 - 07:15:13 CEST