Haskell Libraries
The GHC Team
Table of Contents
1.
Introduction
1.1.
Naming conventions
1.1.1.
Constructor names
1.1.2.
Accessor names
1.1.3.
Modificator names
1.1.4.
Predicate names
1.1.5.
Names for conversions
1.1.6.
Miscellaneous naming conventions
1.2.
Miscellaneous conventions
1.3.
Known inconsistencies
2.
The
concurrent
category: concurrency support
2.1.
Concurrent Haskell
2.2.
Concurrency Basics
2.3.
Scheduling
2.3.1.
Thread Waiting
2.3.2.
Blocking
2.4.
Concurrency abstractions
2.4.1.
Chan
: Channels
2.4.2.
CVar
: Channel variables
2.4.3.
MVar
: Synchronising variables
2.4.4.
QSem
: General semaphores
2.4.5.
QSemN
: Quantity semaphores
2.4.6.
SampleVar
: Sample variables
2.4.7.
Merging Streams
2.5.
The
Concurrent
library interface
2.6.
GHC-specific concurrency issues
2.6.1.
Terminating the program
2.6.2.
Pre-emption
3.
The
data
category: datatypes
3.1.
Edison
3.2.
The
FiniteMap
type
3.3.
Set
4.
The
lang
category: language support
4.1.
Addr
4.1.1.
Address Type and Arithmetic
4.1.2.
The Standard C-side Interface
4.2.
Bits
4.3.
ByteArray
4.4.
CCall
4.5.
CError
4.6.
CForeign
4.7.
CTypes
4.7.1.
Integral types
4.7.2.
Floating types
4.8.
CTypesISO
4.8.1.
Integral types
4.8.2.
Numeric types
4.8.3.
Misc types
4.9.
CString
4.10.
DiffArray
4.11.
Dynamic
4.11.1.
Representing types
4.11.2.
The Typeable class
4.11.3.
Utility functions
4.12.
Exception
4.12.1.
Kinds of exception
4.12.2.
Throwing exceptions
4.12.3.
The
catch
functions
4.12.4.
The
try
functions
4.12.5.
Dynamic Exceptions
4.12.6.
Other Utilities
4.12.7.
Asynchronous exceptions
4.13.
Foreign
4.14.
ForeignObj
4.14.1.
The Standard Interface
4.14.2.
The Standard C-side Interface
4.14.3.
Deprecated Functions
4.15.
ForeignPtr
4.15.1.
The Haskell-side Interface
4.15.2.
The C-side Interface
4.16.
GlaExts
4.17.
IArray
4.17.1.
IArray
and
HasBounds
type classes
4.17.2.
UArray
: immutable unboxed arrays
4.17.3.
Useful combinators
4.18.
Int
4.18.1.
Notes
4.18.2.
Deprecated Functions
4.19.
IOExts
4.19.1.
IO monad extensions
4.19.2.
Mutable Variables
4.19.3.
Mutable Arrays
4.19.4.
Extended file modes
4.19.5.
Bulk transfers
4.19.6.
Terminal control
4.19.7.
Redirecting handles
4.19.8.
Trace
4.19.9.
Extra
IOError
Predicates
4.19.10.
Miscellany
4.20.
LazyST
4.21.
MArray
4.21.1.
Freezing and thawing arrays
4.21.2.
Useful combinators
4.22.
MarshalAlloc
4.23.
MarshalArray
4.24.
MarshalError
4.25.
MarshalUtils
4.26.
MutableArray
4.26.1.
Mutable arrays
4.26.2.
Mutable byte arrays
4.27.
NumExts
4.28.
PackedString
4.29.
Ptr
4.29.1.
Data Pointers
4.29.2.
Function Pointers
4.29.3.
The Standard C-side Interface
4.30.
ShowFunctions
4.31.
ST
4.32.
Stable
4.33.
StableName
4.34.
StablePtr
4.34.1.
The Standard Interface
4.34.2.
The Standard C-side Interface
4.34.3.
Deprecated Functions
4.35.
Storable
4.36.
StorableArray
4.37.
SystemExts
4.38.
Weak
4.38.1.
Module Signature
4.38.2.
Weak pointers
4.38.3.
The simple interface
4.38.4.
The general interface
4.38.5.
A precise semantics
4.38.6.
Finalization for foreign objects
4.39.
Word
4.39.1.
Notes
4.39.2.
Implementation notes
5.
The
net
category: networking support
5.1.
BSD
: System database info
5.2.
Socket
: The high-level networking interface
5.2.1.
Buffering
5.2.2.
SIGPIPE
5.2.3.
Sockets on Windows
5.3.
SocketPrim
: The low-level socket binding
5.4.
URI
6.
The
num
category: numeric operations
7.
The
posix
category: POSIX support
7.1.
Posix data types
7.2.
Posix Process Primitives
7.3.
Posix Process Environment
7.4.
Posix operations on files and directories
7.5.
Posix Input and Output Primitives
7.6.
Posix, Device- and Class-Specific Functions
7.7.
Posix System Databases
7.8.
POSIX Errors
8.
The
text
category: text manipulation
8.1.
HaXml
: Handling XML data
8.2.
MatchPS
: The Perl-like matching interface
8.3.
Parsec
: Parsing combinators
8.4.
Pretty
: Pretty printing combimators
8.5.
Regex
: The low-level regex matching interface
8.6.
RegexString
: Regex matching made simple
9.
The
util
category: miscellaneous utilities
9.1.
GetOpt
: Command line parsing
9.2.
Memo
: Fast memo functions
9.3.
QuickCheck
9.4.
Readline
: Command line editing
9.5.
Select
: Synchronous I/O multiplexing
9.5.1.
Using
hSelect
with Concurrent Haskell
10.
Win32
Prev
Home
Next
Making DLLs to be called from other languages
Introduction