NAME

ff.cam - a CAMILA library for finite mappings


SYNOPSYS

 ffinv(f:A->B):B->A-set
 ff2seq(b:B,f:INT->B):B-seq
 ff2ffs(f:A->B,na:C,nb:C):(C->B)-set
 ff2STRff(fk:A->B):STR->STR
 ffByIndex(f:A->B,l:A-seq):B-seq
 ffByIndex1(f:A->B,l:A-seq,d:B):B-seq


DESCRIPTION

This library provides an enrichment of the finite mapping

CAMILA built-in data algebra (functor A->B).

Last Update: 1999.11.11

The informal semantics of the operators are as follows:

ffinv(f:A->B):B->A-set
ffinv(f) reverses f.

ff2seq(b:B,f:INT->B):B-seq
ff2seq(b,f) converts f into a sequence according to the order specified by f. ``Holes'' are replaced by default value b, eg: ff2seq(``hole'',[ 1->``a'' , 3->``x'']) = < ``a'',``hole'',``x'' >.

ff2ffs(f:A->B,na:C,nb:C):(C->B)-set
ff2ffs(f,na,nb) converts mapping d into a tuple set (see ffs.cam), given attribute names for domain and codomain.

ff2STRff(fk:A->B):STR->STR
ff2STRff(fk) converts domain and range elements of fk into strings, if possible.

ffByIndex(f:A->B,l:A-seq):B-seq
ffByIndex(f,l) lists the range of f using l as an index. Every entry in the index which f doesn't know about is lost.

ffByIndex1(f:A->B,l:A-seq,d:B):B-seq
ffByIndex1(f,l,d) is similar to ffByIndex(f,l) producing d as a default value for every entry in the index which f doesn't know about.


SEE ALSO

Manual(s) of int.cam seq.cam.


AUTHOR

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