subject
Safe HaskellSafe-Inferred
LanguageHaskell2010

Subject

Description

Main module for the Subject library.

This module provides convenient access to all Subject library functionality by re-exporting public APIs from core modules. Import this module to access all Subject types, functions, and typeclass instances without needing to import individual modules.

Library Organization

The Subject library is organized into several modules:

  • Subject.Core - Core Subject data type, Symbol type, PropertyRecord type, and typeclass instances (Show, Eq, Ord, Hashable, Semigroup, Monoid)
  • Subject.Value - Value type system supporting standard and extended types
  • Subject.Construction - Constructor functions and property manipulation

Usage

Import the main Subject module to access all functionality:

>>> import Subject
>>> import Data.Map (fromList, empty)
>>> import Data.Set (Set)
>>> import qualified Data.Set as Set
>>> import Subject.Value (VString)
>>> let s = Subject (Symbol "n") (Set.fromList ["Person"]) (fromList [("name", VString "Alice")])

All public functions, types, and typeclass instances from Subject.Core and Subject.Value 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 Subject.Core (Subject type, Symbol type, PropertyRecord type, and all typeclass instances)
  • All public exports from Subject.Value (Value type, RangeValue type)

Internal implementation details and helper functions are not exported through this module, ensuring a clean public API.

Documentation