CLASE-2008.9.23.1: Cursor Library for A Structured EditorSource codeContentsIndex
Data.Cursor.CLASE.Language
Documentation
data Up Source
data Down Source
type family Invert d :: *Source
data DirectionT a whereSource
Constructors
UpT :: DirectionT Up
DownT :: DirectionT Down
class Reify l a whereSource
Methods
reify :: a -> TypeRep l aSource
data ExistsR l r whereSource
Constructors
ExistsR :: Reify l a => r a -> ExistsR l r
class Language l whereSource
Associated Types
data Context l :: * -> * -> *Source
data Movement l :: * -> * -> * -> *Source
data TypeRep l :: * -> *Source
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
contextMovementEq :: Language l => Context l a b -> Movement l Up a c -> Maybe (TyEq b c)Source
data Path l r a b whereSource
Constructors
Stop :: Path l r a a
Step :: Reify l b => r a b -> Path l r b c -> Path l r a c
foldPath :: (forall from to. Reify l to => r from to -> from -> to) -> start -> Path l r start finish -> finishSource
data Cursor l x a Source
Constructors
Reify l a => Cursor
it :: a
ctx :: Path l (Context l) a l
log :: Route l a x
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
rebuild :: Language l => Cursor l x a -> lSource
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
genericMoveLeft :: Language l => Cursor l x a -> Maybe (ExistsR l (Cursor l x))Source
genericMoveRight :: Language l => Cursor l x a -> Maybe (ExistsR l (Cursor l x))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
data Route l from to whereSource
Constructors
Route :: Reify l mid => Path l (Movement l Up) from mid -> Path l (Movement l Down) mid to -> Route l from to
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
resetLog :: Cursor l x a -> Cursor l a aSource
appendRoute :: (Language l, Reify l a, Reify l b, Reify l c) => Route l a b -> Route l b c -> Route l a cSource
followRoute :: Language l => Cursor l x a -> Route l a c -> Maybe (Cursor l x c)Source
Produced by Haddock version 2.3.0