Index of /~nad/listings/lib

[ICO]NameLast modifiedSizeDescription

[DIR]Parent Directory   -  
[TXT]Universe.html 17-Jan-2014 16:25 11K 
[TXT]Size.html 17-Jan-2014 16:25 3.6K 
[TXT]Relation.Unary.html 17-Jan-2014 16:25 69K 
[TXT]Relation.Nullary.html 17-Jan-2014 16:25 3.6K 
[TXT]Relation.Nullary.Uni..>17-Jan-2014 16:25 111K 
[TXT]Relation.Nullary.Sum..>17-Jan-2014 16:25 16K 
[TXT]Relation.Nullary.Pro..>17-Jan-2014 16:25 9.1K 
[TXT]Relation.Nullary.Neg..>17-Jan-2014 16:25 126K 
[TXT]Relation.Nullary.Imp..>17-Jan-2014 16:25 9.6K 
[TXT]Relation.Nullary.Dec..>17-Jan-2014 16:25 66K 
[TXT]Relation.Nullary.Cor..>17-Jan-2014 16:25 7.5K 
[TXT]Relation.Binary.html 17-Jan-2014 16:25 139K 
[TXT]Relation.Binary.Vec...>17-Jan-2014 16:25 188K 
[TXT]Relation.Binary.Sum...>17-Jan-2014 16:25 491K 
[TXT]Relation.Binary.Stri..>17-Jan-2014 16:25 67K 
[TXT]Relation.Binary.Stri..>17-Jan-2014 16:25 5.1K 
[TXT]Relation.Binary.Simp..>17-Jan-2014 16:25 14K 
[TXT]Relation.Binary.Sigm..>17-Jan-2014 16:25 364K 
[TXT]Relation.Binary.Refl..>17-Jan-2014 16:25 60K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 7.4K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 9.7K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 9.6K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 9.2K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 8.5K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 9.0K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 113K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 7.1K 
[TXT]Relation.Binary.Prop..>17-Jan-2014 16:25 17K 
[TXT]Relation.Binary.Prod..>17-Jan-2014 16:25 224K 
[TXT]Relation.Binary.Prod..>17-Jan-2014 16:25 334K 
[TXT]Relation.Binary.Prod..>17-Jan-2014 16:25 120K 
[TXT]Relation.Binary.Preo..>17-Jan-2014 16:25 23K 
[TXT]Relation.Binary.Part..>17-Jan-2014 16:25 4.6K 
[TXT]Relation.Binary.Orde..>17-Jan-2014 16:25 30K 
[TXT]Relation.Binary.On.html17-Jan-2014 16:25 152K 
[TXT]Relation.Binary.NonS..>17-Jan-2014 16:25 63K 
[TXT]Relation.Binary.List..>17-Jan-2014 16:25 238K 
[TXT]Relation.Binary.List..>17-Jan-2014 16:25 172K 
[TXT]Relation.Binary.List..>17-Jan-2014 16:25 100K 
[TXT]Relation.Binary.Indu..>17-Jan-2014 16:25 20K 
[TXT]Relation.Binary.Inde..>17-Jan-2014 16:25 15K 
[TXT]Relation.Binary.Inde..>17-Jan-2014 16:25 40K 
[TXT]Relation.Binary.Hete..>17-Jan-2014 16:25 155K 
[TXT]Relation.Binary.Hete..>17-Jan-2014 16:25 9.5K 
[TXT]Relation.Binary.Flip..>17-Jan-2014 16:25 148K 
[TXT]Relation.Binary.EqRe..>17-Jan-2014 16:25 6.7K 
[TXT]Relation.Binary.Core..>17-Jan-2014 16:25 131K 
[TXT]Relation.Binary.Cons..>17-Jan-2014 16:25 87K 
[TXT]Relation.Binary.Cons..>17-Jan-2014 16:25 11K 
[TXT]Reflection.html 17-Jan-2014 16:25 231K 
[TXT]Record.html 17-Jan-2014 16:25 146K 
[TXT]README.html 17-Jan-2014 16:25 36K 
[TXT]README.Record.html 17-Jan-2014 16:25 19K 
[TXT]README.Nat.html 17-Jan-2014 16:25 19K 
[TXT]README.Integer.html 17-Jan-2014 16:25 25K 
[TXT]README.Case.html 17-Jan-2014 16:25 13K 
[TXT]README.AVL.html 17-Jan-2014 16:25 38K 
[TXT]Level.html 17-Jan-2014 16:25 5.2K 
[TXT]Irrelevance.html 17-Jan-2014 16:25 3.9K 
[TXT]Induction.html 17-Jan-2014 16:25 31K 
[TXT]Induction.WellFounde..>17-Jan-2014 16:25 96K 
[TXT]Induction.Nat.html 17-Jan-2014 16:25 109K 
[TXT]Induction.Lexicograp..>17-Jan-2014 16:25 54K 
[TXT]IO.html 17-Jan-2014 16:25 58K 
[TXT]IO.Primitive.html 17-Jan-2014 16:25 19K 
[TXT]Function.html 17-Jan-2014 16:25 70K 
[TXT]Function.Surjection...>17-Jan-2014 16:25 46K 
[TXT]Function.Related.html 17-Jan-2014 16:25 208K 
[TXT]Function.Related.Typ..>17-Jan-2014 16:25 378K 
[TXT]Function.LeftInverse..>17-Jan-2014 16:25 62K 
[TXT]Function.Inverse.html 17-Jan-2014 16:25 86K 
[TXT]Function.Injection.html17-Jan-2014 16:25 30K 
[TXT]Function.Equivalence..>17-Jan-2014 16:25 65K 
[TXT]Function.Equality.html 17-Jan-2014 16:25 56K 
[TXT]Function.Bijection.html17-Jan-2014 16:25 40K 
[TXT]Foreign.Haskell.html 17-Jan-2014 16:25 2.6K 
[TXT]Everything.html 17-Jan-2014 16:25 65K 
[TXT]Data.W.html 17-Jan-2014 16:25 17K 
[TXT]Data.Vec.html 17-Jan-2014 16:25 203K 
[TXT]Data.Vec.Properties...>17-Jan-2014 16:25 338K 
[TXT]Data.Vec.N-ary.html 17-Jan-2014 16:25 162K 
[TXT]Data.Vec.Equality.html 17-Jan-2014 16:25 68K 
[TXT]Data.Unit.html 17-Jan-2014 16:25 22K 
[TXT]Data.Unit.Core.html 17-Jan-2014 16:25 12K 
[TXT]Data.Sum.html 17-Jan-2014 16:25 37K 
[TXT]Data.String.html 17-Jan-2014 16:25 39K 
[TXT]Data.Stream.html 17-Jan-2014 16:25 100K 
[TXT]Data.Star.html 17-Jan-2014 16:25 98K 
[TXT]Data.Star.Vec.html 17-Jan-2014 16:25 28K 
[TXT]Data.Star.Properties..>17-Jan-2014 16:25 98K 
[TXT]Data.Star.Pointer.html 17-Jan-2014 16:25 72K 
[TXT]Data.Star.Nat.html 17-Jan-2014 16:25 18K 
[TXT]Data.Star.List.html 17-Jan-2014 16:25 8.7K 
[TXT]Data.Star.Fin.html 17-Jan-2014 16:25 8.0K 
[TXT]Data.Star.Environmen..>17-Jan-2014 16:25 17K 
[TXT]Data.Star.Decoration..>17-Jan-2014 16:25 73K 
[TXT]Data.Star.BoundedVec..>17-Jan-2014 16:25 25K 
[TXT]Data.Sign.html 17-Jan-2014 16:25 11K 
[TXT]Data.Sign.Properties..>17-Jan-2014 16:25 10K 
[TXT]Data.ReflexiveClosur..>17-Jan-2014 16:25 26K 
[TXT]Data.Rational.html 17-Jan-2014 16:25 111K 
[TXT]Data.Product.html 17-Jan-2014 16:25 94K 
[TXT]Data.Product.N-ary.html17-Jan-2014 16:25 39K 
[TXT]Data.Plus.html 17-Jan-2014 16:25 50K 
[TXT]Data.Nat.html 17-Jan-2014 16:25 123K 
[TXT]Data.Nat.Show.html 17-Jan-2014 16:25 11K 
[TXT]Data.Nat.Properties...>17-Jan-2014 16:25 459K 
[TXT]Data.Nat.Primality.html17-Jan-2014 16:25 13K 
[TXT]Data.Nat.LCM.html 17-Jan-2014 16:25 87K 
[TXT]Data.Nat.InfinitelyO..>17-Jan-2014 16:25 56K 
[TXT]Data.Nat.GCD.html 17-Jan-2014 16:25 122K 
[TXT]Data.Nat.GCD.Lemmas...>17-Jan-2014 16:25 223K 
[TXT]Data.Nat.Divisibilit..>17-Jan-2014 16:25 128K 
[TXT]Data.Nat.DivMod.html 17-Jan-2014 16:25 68K 
[TXT]Data.Nat.Coprimality..>17-Jan-2014 16:25 115K 
[TXT]Data.Maybe.html 17-Jan-2014 16:25 119K 
[TXT]Data.Maybe.Core.html 17-Jan-2014 16:25 5.0K 
[TXT]Data.M.html 17-Jan-2014 16:25 14K 
[TXT]Data.List.html 17-Jan-2014 16:25 214K 
[TXT]Data.List.Reverse.html 17-Jan-2014 16:25 28K 
[TXT]Data.List.Properties..>17-Jan-2014 16:25 522K 
[TXT]Data.List.NonEmpty.html17-Jan-2014 16:25 218K 
[TXT]Data.List.NonEmpty.P..>17-Jan-2014 16:25 31K 
[TXT]Data.List.Countdown...>17-Jan-2014 16:25 196K 
[TXT]Data.List.Any.html 17-Jan-2014 16:25 131K 
[TXT]Data.List.Any.Proper..>17-Jan-2014 16:25 619K 
[TXT]Data.List.Any.Member..>17-Jan-2014 16:25 251K 
[TXT]Data.List.Any.BagAnd..>17-Jan-2014 16:25 252K 
[TXT]Data.List.All.html 17-Jan-2014 16:25 47K 
[TXT]Data.List.All.Proper..>17-Jan-2014 16:25 141K 
[TXT]Data.Integer.html 17-Jan-2014 16:25 138K 
[TXT]Data.Integer.Propert..>17-Jan-2014 16:25 280K 
[TXT]Data.Integer.Multipl..>17-Jan-2014 16:25 71K 
[TXT]Data.Integer.Divisib..>17-Jan-2014 16:25 11K 
[TXT]Data.Integer.Additio..>17-Jan-2014 16:25 79K 
[TXT]Data.Graph.Acyclic.html17-Jan-2014 16:25 191K 
[TXT]Data.Fin.html 17-Jan-2014 16:25 116K 
[TXT]Data.Fin.Substitutio..>17-Jan-2014 16:25 82K 
[TXT]Data.Fin.Substitutio..>17-Jan-2014 16:25 22K 
[TXT]Data.Fin.Substitutio..>17-Jan-2014 16:25 493K 
[TXT]Data.Fin.Substitutio..>17-Jan-2014 16:25 71K 
[TXT]Data.Fin.Subset.html 17-Jan-2014 16:25 39K 
[TXT]Data.Fin.Subset.Prop..>17-Jan-2014 16:25 114K 
[TXT]Data.Fin.Props.html 17-Jan-2014 16:25 181K 
[TXT]Data.Fin.Dec.html 17-Jan-2014 16:25 131K 
[TXT]Data.Empty.html 17-Jan-2014 16:25 4.2K 
[TXT]Data.Digit.html 17-Jan-2014 16:25 57K 
[TXT]Data.DifferenceVec.html17-Jan-2014 16:25 40K 
[TXT]Data.DifferenceNat.html17-Jan-2014 16:25 11K 
[TXT]Data.DifferenceList...>17-Jan-2014 16:25 39K 
[TXT]Data.Covec.html 17-Jan-2014 16:25 109K 
[TXT]Data.Container.html 17-Jan-2014 16:25 173K 
[TXT]Data.Container.FreeM..>17-Jan-2014 16:25 27K 
[TXT]Data.Container.Combi..>17-Jan-2014 16:25 154K 
[TXT]Data.Container.Any.html17-Jan-2014 16:25 245K 
[TXT]Data.Conat.html 17-Jan-2014 16:25 25K 
[TXT]Data.Colist.html 17-Jan-2014 16:25 361K 
[TXT]Data.Colist.Infinite..>17-Jan-2014 16:25 195K 
[TXT]Data.Cofin.html 17-Jan-2014 16:25 19K 
[TXT]Data.Char.html 17-Jan-2014 16:25 22K 
[TXT]Data.BoundedVec.html 17-Jan-2014 16:25 39K 
[TXT]Data.BoundedVec.Inef..>17-Jan-2014 16:25 20K 
[TXT]Data.Bool.html 17-Jan-2014 16:25 25K 
[TXT]Data.Bool.Show.html 17-Jan-2014 16:25 3.2K 
[TXT]Data.Bool.Properties..>17-Jan-2014 16:25 150K 
[TXT]Data.Bin.html 17-Jan-2014 16:25 173K 
[TXT]Data.AVL.html 17-Jan-2014 16:25 323K 
[TXT]Data.AVL.Sets.html 17-Jan-2014 16:25 22K 
[TXT]Data.AVL.IndexedMap...>17-Jan-2014 16:25 39K 
[TXT]Coinduction.html 17-Jan-2014 16:25 13K 
[TXT]Category.Monad.html 17-Jan-2014 16:25 17K 
[TXT]Category.Monad.State..>17-Jan-2014 16:25 82K 
[TXT]Category.Monad.Parti..>17-Jan-2014 16:25 727K 
[TXT]Category.Monad.Parti..>17-Jan-2014 16:25 146K 
[TXT]Category.Monad.Index..>17-Jan-2014 16:25 35K 
[TXT]Category.Monad.Ident..>17-Jan-2014 16:25 6.2K 
[TXT]Category.Monad.Conti..>17-Jan-2014 16:25 43K 
[TXT]Category.Functor.html 17-Jan-2014 16:25 8.1K 
[TXT]Category.Applicative..>17-Jan-2014 16:25 7.2K 
[TXT]Category.Applicative..>17-Jan-2014 16:25 60K 
[TXT]Algebra.html 17-Jan-2014 16:25 155K 
[TXT]Algebra.Structures.html17-Jan-2014 16:25 209K 
[TXT]Algebra.RingSolver.html17-Jan-2014 16:25 492K 
[TXT]Algebra.RingSolver.S..>17-Jan-2014 16:25 5.8K 
[TXT]Algebra.RingSolver.N..>17-Jan-2014 16:25 35K 
[TXT]Algebra.RingSolver.L..>17-Jan-2014 16:25 154K 
[TXT]Algebra.RingSolver.A..>17-Jan-2014 16:25 64K 
[TXT]Algebra.Props.Ring.html17-Jan-2014 16:25 44K 
[TXT]Algebra.Props.Lattic..>17-Jan-2014 16:25 65K 
[TXT]Algebra.Props.Group...>17-Jan-2014 16:25 58K 
[TXT]Algebra.Props.Distri..>17-Jan-2014 16:25 58K 
[TXT]Algebra.Props.Boolea..>17-Jan-2014 16:25 506K 
[TXT]Algebra.Props.Boolea..>17-Jan-2014 16:25 151K 
[TXT]Algebra.Props.Abelia..>17-Jan-2014 16:25 34K 
[TXT]Algebra.Operations.html17-Jan-2014 16:25 108K 
[TXT]Algebra.Morphism.html 17-Jan-2014 16:25 39K 
[TXT]Algebra.Monoid-solve..>17-Jan-2014 16:25 82K 
[TXT]Algebra.FunctionProp..>17-Jan-2014 16:25 60K 
[TXT]Algebra.FunctionProp..>17-Jan-2014 16:25 6.3K 
[TXT]Agda.css 17-Jan-2014 16:25 1.2K 
[TXT]Agda.Primitive.html 17-Jan-2014 16:25 7.2K 

README
module README where

------------------------------------------------------------------------
-- The Agda standard library
--
-- Author: Nils Anders Danielsson, with contributions from Andreas
-- Abel, Stevan Andjelkovic, Jean-Philippe Bernardy, Peter Berry,
-- Joachim Breitner, Samuel Bronson, Daniel Brown, Liang-Ting Chen,
-- Dominique Devriese, Dan Doel, Érdi Gergő, Helmut Grohne, Simon
-- Foster, Liyang Hu, Patrik Jansson, Alan Jeffrey, Eric Mertens,
-- Darin Morrison, Guilhem Moulin, Shin-Cheng Mu, Ulf Norell, Noriyuki
-- OHKAWA, Nicolas Pouillard, Andrés Sicard-Ramírez and Noam
-- Zeilberger
------------------------------------------------------------------------

-- Note that the development version of the library often requires the
-- latest development version of Agda.

-- Note also that no guarantees are currently made about forwards or
-- backwards compatibility, the library is still at an experimental
-- stage.

-- To make use of the library, add the path to the library’s root
-- directory (src) to the Agda search path, either using the
-- --include-path flag or by customising the Emacs mode variable
-- agda2-include-dirs (M-x customize-group RET agda2 RET).

-- To compile the library using the MAlonzo compiler you first need to
-- install some supporting Haskell code, for instance as follows:
--
--   cd ffi
--   cabal install
--
-- Currently the library does not support the Epic or JavaScript
-- compiler backends.

-- Contributions to this library are welcome (but to avoid wasted work
-- it is suggested that you discuss large changes before implementing
-- them). Please send contributions in the form of darcs patches (run
-- darcs send --output <patch file> and attach the patch file to an
-- email), and include a statement saying that you agree to release
-- your library patches under the library's licence. It is appreciated
-- if every patch contains a single, complete change, and if the
-- coding style used in the library is adhered to.

------------------------------------------------------------------------
-- Module hierarchy
------------------------------------------------------------------------

-- The top-level module names of the library are currently allocated
-- as follows:
--
-- • Algebra
--     Abstract algebra (monoids, groups, rings etc.), along with
--     properties needed to specify these structures (associativity,
--     commutativity, etc.), and operations on and proofs about the
--     structures.
-- • Category
--     Category theory-inspired idioms used to structure functional
--     programs (functors and monads, for instance).
-- • Coinduction
--     Support for coinduction.
-- • Data
--     Data types and properties about data types.
-- • Function
--     Combinators and properties related to functions.
-- • Foreign
--     Related to the foreign function interface.
-- • Induction
--     A general framework for induction (includes lexicographic and
--     well-founded induction).
-- • IO
--     Input/output-related functions.
-- • Irrelevance
--     Definitions related to (proscriptive) irrelevance.
-- • Level
--     Universe levels.
-- • Record
--     An encoding of record types with manifest fields and "with".
-- • Reflection
--     Support for reflection.
-- • Relation
--     Properties of and proofs about relations (mostly homogeneous
--     binary relations).
-- • Size
--     Sizes used by the sized types mechanism.
-- • Universe
--     A definition of universes.

------------------------------------------------------------------------
-- A selection of useful library modules
------------------------------------------------------------------------

-- Note that module names in source code are often hyperlinked to the
-- corresponding module. In the Emacs mode you can follow these
-- hyperlinks by typing M-. or clicking with the middle mouse button.

-- • Some data types

import Data.Bool     -- Booleans.
import Data.Char     -- Characters.
import Data.Empty    -- The empty type.
import Data.Fin      -- Finite sets.
import Data.List     -- Lists.
import Data.Maybe    -- The maybe type.
import Data.Nat      -- Natural numbers.
import Data.Product  -- Products.
import Data.Stream   -- Streams.
import Data.String   -- Strings.
import Data.Sum      -- Disjoint sums.
import Data.Unit     -- The unit type.
import Data.Vec      -- Fixed-length vectors.

-- • Some types used to structure computations

import Category.Functor      -- Functors.
import Category.Applicative  -- Applicative functors.
import Category.Monad        -- Monads.

-- • Equality

-- Propositional equality:
import Relation.Binary.PropositionalEquality

-- Convenient syntax for "equational reasoning" using a preorder:
import Relation.Binary.PreorderReasoning

-- Solver for commutative ring or semiring equalities:
import Algebra.RingSolver

-- • Properties of functions, sets and relations

-- Monoids, rings and similar algebraic structures:
import Algebra

-- Negation, decidability, and similar operations on sets:
import Relation.Nullary

-- Properties of homogeneous binary relations:
import Relation.Binary

-- • Induction

-- An abstraction of various forms of recursion/induction:
import Induction

-- Well-founded induction:
import Induction.WellFounded

-- Various forms of induction for natural numbers:
import Induction.Nat

-- • Support for coinduction

import Coinduction

-- • IO

import IO

------------------------------------------------------------------------
-- Record hierarchies
------------------------------------------------------------------------

-- When an abstract hierarchy of some sort (for instance semigroup →
-- monoid → group) is included in the library the basic approach is to
-- specify the properties of every concept in terms of a record
-- containing just properties, parameterised on the underlying
-- operations, sets etc.:
--
--   record IsSemigroup {A} (≈ : Rel A) (∙ : Op₂ A) : Set where
--     open FunctionProperties ≈
--     field
--       isEquivalence : IsEquivalence ≈
--       assoc         : Associative ∙
--       ∙-cong        : ∙ Preserves₂ ≈ ⟶ ≈ ⟶ ≈
--
-- More specific concepts are then specified in terms of the simpler
-- ones:
--
--     record IsMonoid {A} (≈ : Rel A) (∙ : Op₂ A) (ε : A) : Set where
--       open FunctionProperties ≈
--       field
--         isSemigroup : IsSemigroup ≈ ∙
--         identity    : Identity ε ∙
--
--     open IsSemigroup isSemigroup public
--
-- Note here that open IsSemigroup isSemigroup public ensures that the
-- fields of the isSemigroup record can be accessed directly; this
-- technique enables the user of an IsMonoid record to use underlying
-- records without having to manually open an entire record hierarchy.
-- This is not always possible, though. Consider the following definition
-- of preorders:
--
--   record IsPreorder {A : Set}
--                     (_≈_ : Rel A) -- The underlying equality.
--                     (_∼_ : Rel A) -- The relation.
--                     : Set where
--     field
--       isEquivalence : IsEquivalence _≈_
--       -- Reflexivity is expressed in terms of an underlying equality:
--       reflexive     : _≈_ ⇒ _∼_
--       trans         : Transitive _∼_
--
--     module Eq = IsEquivalence isEquivalence
--
--     ...
--
-- The Eq module in IsPreorder is not opened publicly, because it
-- contains some fields which clash with fields or other definitions
-- in IsPreorder.

-- Records packing up properties with the corresponding operations,
-- sets, etc. are sometimes also defined:
--
--   record Semigroup : Set₁ where
--     infixl 7 _∙_
--     infix  4 _≈_
--     field
--       Carrier     : Set
--       _≈_         : Rel Carrier
--       _∙_         : Op₂ Carrier
--       isSemigroup : IsSemigroup _≈_ _∙_
--
--     open IsSemigroup isSemigroup public
--
--     setoid : Setoid
--     setoid = record { isEquivalence = isEquivalence }
--
--   record Monoid : Set₁ where
--     infixl 7 _∙_
--     infix  4 _≈_
--     field
--       Carrier  : Set
--       _≈_      : Rel Carrier
--       _∙_      : Op₂ Carrier
--       ε        : Carrier
--       isMonoid : IsMonoid _≈_ _∙_ ε
--
--     open IsMonoid isMonoid public
--
--     semigroup : Semigroup
--     semigroup = record { isSemigroup = isSemigroup }
--
--     open Semigroup semigroup public using (setoid)
--
-- Note that the Monoid record does not include a Semigroup field.
-- Instead the Monoid /module/ includes a "repackaging function"
-- semigroup which converts a Monoid to a Semigroup.

-- The above setup may seem a bit complicated, but we think it makes the
-- library quite easy to work with, while also providing enough
-- flexibility.

------------------------------------------------------------------------
-- More documentation
------------------------------------------------------------------------

-- Some examples showing where the natural numbers/integers and some
-- related operations and properties are defined, and how they can be
-- used:

import README.Nat
import README.Integer

-- Some examples showing how the AVL tree module can be used.

import README.AVL

-- An example showing how the Record module can be used.

import README.Record

-- An example showing how the case expression can be used.

import README.Case

------------------------------------------------------------------------
-- Core modules
------------------------------------------------------------------------

-- Some modules have names ending in ".Core". These modules are
-- internal, and have (mostly) been created to avoid mutual recursion
-- between modules. They should not be imported directly; their
-- contents are reexported by other modules.

------------------------------------------------------------------------
-- All library modules
------------------------------------------------------------------------

-- For short descriptions of every library module, see Everything:

import Everything

-- Note that the Everything module is generated automatically. If you
-- have downloaded the library from its darcs repository and want to
-- type check README then you can (try to) construct Everything by
-- running "cabal install && GenerateEverything".

-- Note that all library sources are located under src or ffi. The
-- modules README, README.* and Everything are not really part of the
-- library, so these modules are located in the top-level directory
-- instead.