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.
Char
Library with some useful functions on characters.
Debug
This library contains some useful operation for debugging programs.
Directory
Library for accessing the directory structure of the underlying operating system.
Distribution
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.
Either
Library with some useful operations for the Either
data type.
ErrorState
A combination of Error and state monad like ErrorT State
in Haskell.
FileGoodies
A collection of useful operations when dealing with files.
FilePath
This library is a direct port of the Haskell library System.FilePath of Neil Mitchell.
Float
A collection of operations on floating point numbers.
Function
This module provides some utility functions for function application.
FunctionInversion
This module provides some utility functions for inverting functions.
GetOpt
Global
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.
IO
Library for IO operations like reading and writing files that are not already contained in the prelude.
IOExts
Library with some useful extensions to the IO monad.
Integer
A collection of common operations on integer numbers.
Most operations make no assumption on the precision of integers.
Operation bitNot
is necessarily an exception.
List
Library with some useful operations on lists.
Maybe
Library with some useful functions on the Maybe
datatype.
Prelude
The standard prelude of Curry (with type classes). All exported functions, data types, classes, and methods defined in this module are always available in any Curry program.
Read
Library with some functions for reading special tokens.
ReadNumeric
Library with some functions for reading and converting numeric tokens.
ReadShowTerm
Library for converting ground terms to strings and vice versa.
ShowS
This library provides a type and combinators for show functions using functional lists.
State
This library provides an implementation of the state monad.
System
Library to access parts of the system environment.
Test.Prop
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.
Test.Prop.Types
This module defines some types used by the EasyCheck libraries.
Time
Library for handling date and time information.
Unsafe
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!
Sort
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 |