# Haskell Libraries

### The GHC Team

Table of Contents
1. Introduction
  1.1. Usage
2. The `concurrent` package: concurrency support
3. The `data` package: datatypes
  3.1. Edison
  3.2. The `FiniteMap` type
  3.3. `Set`
4. The `lang` package: language support
  4.1. `Bits`
  4.2. `CError`
  4.3. `CForeign`
  4.4. `CTypes`
  4.5. `CTypesISO`
  4.6. `CString`
  4.7. `DiffArray`
  4.8. `DirectoryExts`
  4.9. `Dynamic`
  4.10. `Exception`
  4.11. `Foreign`
  4.12. `ForeignPtr`
  4.13. `GlaExts`
  4.14. `IArray`
  4.15. `Int`
  4.16. `IOExts`
    4.16.1. IO monad extensions
    4.16.2. Mutable Variables
    4.16.3. Mutable Arrays
    4.16.4. Extended file modes
    4.16.5. Bulk transfers
    4.16.6. Terminal control
    4.16.7. Redirecting handles
    4.16.8. Trace
    4.16.9. Extra `IOError` Predicates
    4.16.10. Miscellany
  4.17. `LazyST`
  4.18. `MArray`
  4.19. `MarshalAlloc`
  4.20. `MarshalArray`
  4.21. `MarshalError`
  4.22. `MarshalUtils`
  4.23. `NumExts`
  4.24. `PackedString`
  4.25. `Ptr`
  4.26. `ShowFunctions`
  4.27. `ST`
  4.28. `StableName`
  4.29. `StablePtr`
  4.30. `Storable`
  4.31. `StorableArray`
  4.32. `SystemExts`
  4.33. `Weak`
  4.34. `Word`
5. The `net` package: 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` package: numeric operations
7. The `posix` package: 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
  7.9. POpen
8. The `text` package: text manipulation
  8.1. `MatchPS`: The Perl-like matching interface
  8.2. `Parsec`: Parsing combinators
  8.3. `Pretty`: Pretty printing combimators
  8.4. `Regex`: The low-level regex matching interface
  8.5. `RegexString`: Regex matching made simple
9. The `util` package: 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. The Win32 package

|  | Next
|  | Introduction