Here is the collection of libraries contained in the distribution of PAKCS. Most of these libraries have been implemented during the development of larger Curry applications. If you have suggestions for changes/improvements or if you want to contribute your own library, please contact Michael Hanus.
Library with some useful functions on characters.
This library contains some useful operation for debugging programs.
Library for accessing the directory structure of the underlying operating system.
This module contains definition of constants to obtain information concerning the current distribution of the Curry implementation, e.g., compiler version, run-time version, installation directory.
Library with some useful operations for the
A combination of Error and state monad like
A collection of useful operations when dealing with files.
This library is a direct port of the Haskell library System.FilePath of Neil Mitchell.
A collection of operations on floating point numbers.
This module provides some utility functions for function application.
This module provides some utility functions for inverting functions.
Library for handling global entities. A global entity has a name declared in the program. Its value can be accessed and modified by IO actions. Furthermore, global entities can be declared as persistent so that their values are stored across different program executions.
Library for IO operations like reading and writing files that are not already contained in the prelude.
Library with some useful extensions to the IO monad.
A collection of common operations on integer numbers.
Most operations make no assumption on the precision of integers.
is necessarily an exception.
Library with some useful operations on lists.
Library with some useful functions on the
The standard prelude of Curry (with type classes). All top-level functions, data types, classes and methods defined in this module are always available in any Curry program.
Library with some functions for reading special tokens.
Library with some functions for reading and converting numeric tokens.
Library for converting ground terms to strings and vice versa.
This library provides a type and combinators for show functions using functional lists.
This library provides an implementation of the state monad.
Library to access parts of the system environment.
This module defines the interface of properties that can be checked with the CurryCheck tool, an automatic property-based test tool based on the EasyCheck library. The ideas behind EasyCheck are described in this paper. CurryCheck automatically tests properties defined with this library. CurryCheck supports the definition of unit tests (also for I/O operations) and property tests parameterized over some arguments. CurryCheck is described in more detail in this paper.
This module defines some types used by the EasyCheck libraries.
Library for handling date and time information.
Library containing unsafe operations. These operations should be carefully used (e.g., for testing or debugging). These operations should not be used in application programs!
A collection of useful functions for sorting and comparing characters, strings, and lists.
|Operation is deterministic, i.e., defined by exclusive rules and depend only on deterministic operations|
|Operation might be non-deterministic, i.e., it is defined by overlapping rules or depend on non-deterministic operations|