NAME

sql.cam - rudimentary SQL-like operations on top of ffs.cam


SYNOPSYS

sqlUpdate(ffs:(A->B)-set,c1:A,ue:B->B,c2:A,se:A->2):(A->B)-set sqlSelect(ffs:(A->B)-set,cs:A-set,c:A,se:A->2):(A->B)-set sqlDelete(ffs:(A->B)-set,c:A,se:A->2):(A->B)-set


DESCRIPTION

This is a CAMILA library for very rudimentary SQL-like operations

whose semantics are specified on top of ffs.cam.

This is expected to evolve towards realistic CAMILA animation of a

formal semantics of mSQL

The informal semantics of the operators are as follows:

sqlUpdate(ffs:(A->B)-set,c1:A,ue:B->B,c2:A,se:A->2):(A->B)-set
sqlUpdate(ffs,c1,ue,c2,se) corresponds to the outcome of the SQL command ``UPDATE ffs SET c1=ue WHERE se(c2)'', where the update expression ue and the selection predicate se are provided as lambda-expressions.

sqlSelect(ffs:(A->B)-set,cs:A-set,c:A,se:A->2):(A->B)-set
sqlSelect(ffs,cs,c,se) specifies the outcome of SQL command `` SELECT cs FROM ffs WHERE se(c) '', where the selection predicate se is provided as a lambda-expression.

sqlDelete(ffs:(A->B)-set,c:A,se:A->2):(A->B)-set
sqlDelete(ffs,c,se) specifies the outcome of SQL command ``DELETE FROM ffs WHERE se(c) '', where the selection predicate se is provided as a lambda-expression.


SEE ALSO

Manual(s) of ffs.cam.