sql.cam - rudimentary SQL-like operations on top of ffs.cam
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
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.
Manual(s) of ffs.cam.