-- | Main module for the Pattern library.
--
-- This module provides convenient access to all Pattern library functionality
-- by re-exporting public APIs from core modules. Import this module to access
-- all Pattern types, functions, and typeclass instances without needing to
-- import individual modules.
--
-- == Library Organization
--
-- The Pattern library is organized into several modules:
--
-- * @Pattern.Core@ - Core Pattern data type, construction functions, query functions,
--   predicate functions, and typeclass instances (Functor, Applicative, Comonad, etc.)
-- * @Pattern.Graph@ - Graph operations and transformations
--
-- == Usage
--
-- Import the main Pattern module to access all functionality:
--
-- >>> import Pattern
-- >>> let p = point "test"
-- >>> value p
-- "test"
--
-- All public functions, types, and typeclass instances from Pattern.Core are
-- available through this module. See individual module documentation for
-- detailed information about specific functionality.
--
-- == Re-export Structure
--
-- This module re-exports:
--
-- * All public exports from @Pattern.Core@ (Pattern type, construction functions,
--   query functions, predicate functions, helper functions, and all typeclass instances)
-- * All public exports from @Pattern.Graph@ (graph operations)
--
-- Internal implementation details and helper functions are not exported through
-- this module, ensuring a clean public API.
module Pattern
  ( -- * Core Pattern Type and Operations
    module Pattern.Core
    -- * Graph Operations
  , module Pattern.Graph
  ) where

import Pattern.Core
import Pattern.Graph