Portability | unknown |
---|---|
Stability | experimental |
Maintainer | [email protected] |
Safe Haskell | None |
Database.Relational.Query.Pi.Unsafe
Contents
Description
This module defines typed projection path objects. Contains internal structure and unsafe interfaces.
- data Pi r0 r1
- pfmap :: ProductConstructor (a -> b) => (a -> b) -> Pi r a -> Pi r b
- pap :: Pi r (a -> b) -> Pi r a -> Pi r b
- width :: Pi r a -> Int
- (<.>) :: Pi a b -> Pi b c -> Pi a c
- (<?.>) :: Pi a (Maybe b) -> Pi b c -> Pi a (Maybe c)
- (<?.?>) :: Pi a (Maybe b) -> Pi b (Maybe c) -> Pi a (Maybe c)
- pi :: [a] -> Pi r0 r1 -> [a]
- definePi :: PersistableWidth r1 => Int -> Pi r0 r1
- defineDirectPi' :: PersistableRecordWidth r1 -> [Int] -> Pi r0 r1
- defineDirectPi :: PersistableWidth r1 => [Int] -> Pi r0 r1
- unsafeExpandIndexes :: Pi a b -> [Int]
Projection path
Projection path from type r0
into type r1
.
This type also indicate key object which type is r1
for record type r0
.
Instances
ProjectableApplicative (Pi a) | Compose projection path |
ProjectableFunctor (Pi a) | Compose seed of projection path |
pfmap :: ProductConstructor (a -> b) => (a -> b) -> Pi r a -> Pi r bSource
Projectable fmap of Pi
type.
(<?.?>) :: Pi a (Maybe b) -> Pi b (Maybe c) -> Pi a (Maybe c)Source
Compose projection path. Maybe
phantom functors are join
-ed like >=>
.
Arguments
:: PersistableWidth r1 | |
=> Int | Index of flat SQL value list |
-> Pi r0 r1 | Result projection path |
Unsafely define projection path from type r0
into type r1
.
Use infered PersistableRecordWidth
.
Arguments
:: PersistableRecordWidth r1 | |
-> [Int] | Indexes of flat SQL value list |
-> Pi r0 r1 | Result projection path |
Unsafely define projection path from type r0
into type r1
.
Arguments
:: PersistableWidth r1 | |
=> [Int] | Indexes of flat SQL value list |
-> Pi r0 r1 | Result projection path |
Unsafely define projection path from type r0
into type r1
.
Use infered PersistableRecordWidth
.
unsafeExpandIndexes :: Pi a b -> [Int]Source
Unsafely untype key to expand indexes.