- To be done
- - Use constraints for types? E.g., allow for float or empty
- anchor(:DataSource, ?Type) is nondet
- True when the top-level of DataSource is an anchor of Type. This
implies it is a cell the given Type and the cells left and above
it are of different types.
The anchor/2 predicate is used to generate candidates for
creating larger units of cells. For example, to generate all
blocks of floats, use this:
?- anchor(D, float), once(block(D, float)).
- unassigned_anchor(:DataSource, ?Type) is nondet
- block(:DataSource, ?Type) is nondet
- block(?Sheet, ?SX, ?SY, ?EX, ?EY, ?Type) is nondet
- A block is the largest rectangular area of cells of the same
Type that starts at SX,SY. A block consists minimally of two
cells, stacked either horizontally or vertically.
- cell_class(:Sheet, ?X, ?Y, ?Class) is nondet
- Classification of cells. Defined classes are:
- sheet_bb(:Sheet, ?DS) is nondet
- True if DS is a datasource that describes all cells in Sheet.
Fails of the sheet is empty.
The following predicates are exported, but not or incorrectly documented.
- row(Arg1, Arg2)
- col(Arg1, Arg2)
- row(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)
- col(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)