NAME

ff.cam - a CAMILA library for finite mappings


SYNOPSYS

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

 ff2seq(f:INT->B,b: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).

The informal semantics of the operators are as follows:

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

ffinv(f) reverses f.

ff2seq(f:INT->B,b:B):B-seq

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