X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=helm%2Fsoftware%2Flambda-delta%2Fsrc%2Fcommon%2Fccs.ml;fp=helm%2Fsoftware%2Flambda-delta%2Fsrc%2Fcommon%2Fccs.ml;h=ca27ff93dce677b67dffedcde1576f6e40f2c421;hb=f7988fc51f7c96617aa2b3320628645480af681a;hp=0000000000000000000000000000000000000000;hpb=fa9e69af2ad5a22692f6fdd555d37bc6d80c5ad9;p=helm.git diff --git a/helm/software/lambda-delta/src/common/ccs.ml b/helm/software/lambda-delta/src/common/ccs.ml new file mode 100644 index 000000000..ca27ff93d --- /dev/null +++ b/helm/software/lambda-delta/src/common/ccs.ml @@ -0,0 +1,36 @@ +(* + ||M|| This file is part of HELM, an Hypertextual, Electronic + ||A|| Library of Mathematics, developed at the Computer Science + ||T|| Department, University of Bologna, Italy. + ||I|| + ||T|| HELM is free software; you can redistribute it and/or + ||A|| modify it under the terms of the GNU General Public License + \ / version 2 or (at your option) any later version. + \ / This software is distributed as is, NO WARRANTY. + V_______________________________________________________________ *) + +module L = List +module U = NUri +module C = Cps +module E = Entity +module G = Options + +type csys = { + uri: E.uri; + mutable is : int list +} + +let mark a = E.mark C.err C.start a + +(* interface functions ******************************************************) + +let init () = { + uri = U.uri_of_string (G.get_baseuri ()); + is = []; +} + +let add_infinite s a = + if !G.si && !G.cc then + let i = abs (mark a) in + if L.mem i s.is then () else s.is <- i :: s.is + else ()