pandora-0.4.2: Pandora/Paradigm/Structure/Ability/Zipper.hs
module Pandora.Paradigm.Structure.Ability.Zipper where
import Pandora.Core.Functor (type (:::))
import Pandora.Paradigm.Structure.Ability.Morphable (Morphable, Morph (Rotate))
type family Zipper (structure :: * -> *) (moves :: k) = (result :: * -> *) | result -> structure
type family Fastenable structure rs where
Fastenable structure (r ::: rs) = (Morphable (Rotate r) structure, Fastenable structure rs)
Fastenable structure r = Morphable (Rotate r) structure