package logtk
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Module Logtk.Position
Positions in terms, clauses...
Positions are used to indicate a given occurrence of an object in a tree-like structure.
Typically, we use positions to refer to a particular occurrence of a term in another (bigger) term, or in a literal, or in a clause.
A pair of {term,clause,literal} + position represents a context, that is, a {term,clause,literal} with a hole at the given position, where we can put a different term.
type t = | Stop| Type of t(*Switch to type
*)| Left of t(*Left term in curried application
*)| Right of t(*Right term in curried application, and subterm of binder
*)| Head of t(*Head of uncurried term
*)| Arg of int * t(*argument term in uncurried term, or in multiset
*)| Body of t(*Body of binder or horn clause
*)
A position is a path in a tree
type position = tval stop : tval size : t -> intval hash : t -> intval num_of_funs : t -> intmodule Map : sig ... endPosition builder
module Build : sig ... endPairing of value with Pos
Positions act a bit like lenses, in the sense that they compose nicely and designat paths in objects
module With : sig ... end sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page