| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Data.InternalQuiver.Path
Synopsis
- data Path v e where
- path :: (Eq v, IQuiver v e) => v -> [e] -> v -> Maybe (Path v e)
- emptyPath :: v -> Path v e
- singlePath :: IQuiver v e => e -> Path v e
- composePath :: Eq v => Path v e -> Path v e -> Maybe (Path v e)
- mapPath :: (IQuiver v' e', Eq v') => (v -> v') -> (e -> e') -> Path v e -> Maybe (Path v' e')
- concatPath :: Path v (Path v e) -> Path v e
- errPath :: (HasCallStack, Eq v, Show v, IQuiver v e) => v -> [e] -> v -> Path v e
- errComposePath :: (HasCallStack, Show v, Eq v) => Path v e -> Path v e -> Path v e
- errMapPath :: (HasCallStack, IQuiver v' e', Eq v') => (v -> v') -> (e -> e') -> Path v e -> Path v' e'
- injectLeftPath :: Path v e -> Path (Either v w) (Either e f)
- injectRightPath :: Path w f -> Path (Either v w) (Either e f)
- separateSumPath :: Path (Either v w) (Either e f) -> Either (Path v e) (Path w f)
- fstPath :: Path (v, w) (e, f) -> Path v e
- sndPath :: Path (v, w) (e, f) -> Path w f
- unsafePath :: v -> [e] -> v -> Path v e
Path
Bundled Patterns
| pattern Path :: v -> [e] -> v -> Path v e | |
| pattern EmptyPath :: v -> Path v e | |
| pattern NonEmptyPath :: e -> [e] -> Path v e |
Instances
| Show2 Path Source # | |
| Eq ob => ICategory ob (Path ob mor) Source # |
|
| IQuiver v (Path v e) Source # | |
| Show v => Show1 (Path v) Source # | |
| (Show v, Show e) => Show (Path v e) Source # | |
| (Eq e, Eq v) => Eq (Path v e) Source # | |
| (Ord e, Ord v) => Ord (Path v e) Source # | |
Defined in Data.InternalQuiver.Path | |
Constructing path
singlePath :: IQuiver v e => e -> Path v e Source #
mapPath :: (IQuiver v' e', Eq v') => (v -> v') -> (e -> e') -> Path v e -> Maybe (Path v' e') Source #
Partial construction functions
errComposePath :: (HasCallStack, Show v, Eq v) => Path v e -> Path v e -> Path v e Source #
errMapPath :: (HasCallStack, IQuiver v' e', Eq v') => (v -> v') -> (e -> e') -> Path v e -> Path v' e' Source #
Sum and Product of paths
Unsafe
unsafePath :: v -> [e] -> v -> Path v e Source #