Data.Cursor.CLASE.Language
Documentation
data DirectionT a whereSource
Constructors
UpT :: DirectionT Up | |
DownT :: DirectionT Down |
Methods
buildOne :: Context l a b -> a -> bSource
unbuildOne :: Movement l Down a b -> a -> Maybe (Context l b a, b)Source
invertMovement :: Movement l d a b -> Movement l (Invert d) b aSource
movementEq :: Movement l d a b -> Movement l d a c -> Maybe (TyEq b c)Source
reifyDirection :: Movement l d a b -> DirectionT dSource
contextToMovement :: Context l a b -> Movement l Up a bSource
downMoves :: TypeRep l a -> [ExistsR l (Movement l Down a)]Source
moveLeft :: Movement l Down a x -> Maybe (ExistsR l (Movement l Down a))Source
moveRight :: Movement l Down a x -> Maybe (ExistsR l (Movement l Down a))Source
foldPath :: (forall from to. Reify l to => r from to -> from -> to) -> start -> Path l r start finish -> finishSource
data CursorWithMovement l d x from whereSource
Constructors
CWM :: Reify l to => Cursor l x to -> Movement l d from to -> CursorWithMovement l d x from |
applyMovement :: (Language l, Reify l a, Reify l b) => Movement l d a b -> Cursor l x a -> Maybe (Cursor l x b)Source
genericMoveUp :: Language l => Cursor l x a -> Maybe (CursorWithMovement l Up x a)Source
genericMoveDown :: Language l => Cursor l x a -> Maybe (CursorWithMovement l Down x a)Source
genericMoveSideways :: forall l x a. Language l => (forall a z. Movement l Down a z -> Maybe (ExistsR l (Movement l Down a))) -> Cursor l x a -> Maybe (ExistsR l (Cursor l x))Source
moveToRoot :: Language l => Cursor l x a -> Cursor l x lSource
route_invariant :: forall l from to. Language l => Route l from to -> BoolSource
updateRoute :: (Language l, Reify l a, Reify l b) => Movement l d a b -> Route l a c -> Route l b cSource