NAME

ffs.cam - a CAMILA library for sets of finite mappings


SYNOPSYS

 ffsPLUS(s:(A->B)-seq):(A->B)-seq
 ffsUNION(s:(A->B)-set):(A->B)-set
 ffsCount(a:A,v:B,r:(A->B)-set):NAT0
 ffsHistogr(a:A,r:(A->B)-set):B->NAT
 ffsPro(a:A,r:(A->B)-set):B-set
 ffsAtts(r:(A->B)-set):A-set
 ffsJoin(f:(A->B)-set,g:(A->B)-set): (A->B)-set
 ffsRename(r:A->A,f:(A->B)-set): (A->B)-set
 ffsColSUM(a:A,r:(A->B)-set): INT
 ffsColSUMseq(t:(A->B)-set,l:A-seq ):INT-seq
 ffs2txt(s:(A->B)-set): txt
 ffs2TeXtxt(s:(A->B)-set): txt
 ffs2HTMLtxtOld(s:(A->B)-set): txt
 ffs2HTMLtxt(s:(A->B)-set): txt


DESCRIPTION

This library is concerned with the (A->B)-set functor.

Such a 'set of mappings' data type is very expressive, as it can be regarded as modelling object populations, relational tables (with NULL values), feature bundles, etc.

In the documentation below we will be referring to columns or attribute names (A), data values (B), rows or tuples (A->B) and relations or tables ((A->B)-set).

Last Update: 1999.11.11

The informal semantics of the operators are as follows:

ffsPLUS(s:(A->B)-seq):(A->B)-seq
ffsPLUS(s) reduces set of mappings s via plus, which is associative and has [] as the unit element.

ffsUNION(s:(A->B)-set):(A->B)-set
ffsUNION(s) reduces set of mappings s via ffUnion (which is idempotent and commutative). All mappings in s must have pairwise disjoint domains.

ffsCount(a:A,v:B,r:(A->B)-set):NAT0
ffsCount(a,v,r) computes the number tuples in r in which data value v occurs in the a-column.

ffsHistogr(a:A,r:(A->B)-set):B->NAT
ffsHistogr(a,r) generates the histogram (multiset) of attribute a in r.

ffsPro(a:A,r:(A->B)-set):B-set
ffsPro(a,r) computes the a-column of r (projection).

ffsAtts(r:(A->B)-set):A-set
ffsAtts(r) the set of all attributes referred to in r.

ffsJoin(f:(A->B)-set,g:(A->B)-set): (A->B)-set
ffsJoin(f,g) performs the relational join operation between f and g

ffsRename(r:A->A,f:(A->B)-set): (A->B)-set
ffsRename(r,f) renames the attribute names of f according to rename mapping r. Not every r is a good rename mapping (guess why).

ffsColSUM(a:A,r:(A->B)-set): INT
ffsColSUM(a,r) adds integer values of the a-column of r (if any).

ffsColSUMseq(t:(A->B)-set,l:A-seq ):INT-seq
ffsColSUMseq(t,l) extends ffsColSUM to a selection of columns.

ffs2txt(s:(A->B)-set): txt
ffs2txt(s) generates a tabular picture of s in txt format.

ffs2TeXtxt(s:(A->B)-set): txt
ffs2TeXtxt(s) is similar to ffs2txt(s) but it generates LaTeX tabular environments.

ffs2HTMLtxtOld(s:(A->B)-set): txt
ffs2HTMLtxtOld(s) is similar to ffs2txt(s) but it generates HTML (old version).

ffs2HTMLtxt(s:(A->B)-set): txt
ffs2HTMLtxt(s) is similar to ffs2txt(s) but it generates HTML.


SEE ALSO

Manual(s) of str.cam txt.cam int.cam ff.cam.


AUTHOR

J.N. Oliveira (jno@di.uminho.pt)