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
3. The data category: datatypes
3.1. Edison
3.2. The FiniteMap type
3.3. The Set type
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.1.3. Deprecated Functions
4.1.4. Hugs Specifics
4.2. Bits
4.3. ByteArray
4.4. CCall
4.5. CTypes
4.5.1. Integral types
4.5.2. Floating types
4.6. CTypesISO
4.6.1. Integral types
4.6.2. Numeric types
4.6.3. Misc types
4.7. Dynamic
4.7.1. Representing types
4.7.2. The Typeable class
4.7.3. Utility functions
4.8. Exception
4.8.1. Kinds of exception
4.8.2. Throwing exceptions
4.8.3. The catch functions
4.8.4. The try functions
4.8.5. Dynamic Exceptions
4.8.6. Other Utilities
4.8.7. Asynchronous exceptions
4.9. Foreign
4.10. ForeignObj
4.10.1. The Standard Interface
4.10.2. The Standard C-side Interface
4.10.3. Deprecated Functions
4.11. GlaExts
4.12. IArray
4.12.1. IArray and HasBounds type classes
4.12.2. UArray: immutable unboxed arrays
4.12.3. Useful combinators
4.13. Int
4.13.1. Notes
4.13.2. Deprecated Functions
4.14. IOExts
4.14.1. IO monad extensions
4.14.2. Mutable Variables
4.14.3. Mutable Arrays
4.14.4. Extended file modes
4.14.5. Bulk transfers
4.14.6. Terminal control
4.14.7. Redirecting handles
4.14.8. Trace
4.14.9. Miscellany
4.15. LazyST
4.16. MArray
4.16.1. Freezing and thawing arrays
4.16.2. Useful combinators
4.17. MutableArray
4.17.1. Mutable arrays
4.17.2. Mutable byte arrays
4.18. NumExts
4.19. PackedString
4.20. ShowFunctions
4.21. ST
4.22. Stable
4.23. StableName
4.24. StablePtr
4.24.1. The Standard Interface
4.24.2. The Standard C-side Interface
4.24.3. Deprecated Functions
4.25. Storable
4.25.1. The Type Class Storable
4.25.2. Allocation and Deallocation of Memory Blocks
4.26. Weak
4.26.1. Module Signature
4.26.2. Weak pointers
4.26.3. The simple interface
4.26.4. The general interface
4.26.5. A precise semantics
4.26.6. Finalization for foreign objects
4.27. Word
4.27.1. Notes
4.27.2. Implementation notes
5. The net category: networking support
5.1. BSD: System database info
5.2. Socket: The high-level networking interface
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
10. Win32