diff -rupN CWB7.1/agent/ccs/AgentProtected.sig CWB7.1p/agent/ccs/AgentProtected.sig --- CWB7.1/agent/ccs/AgentProtected.sig 1999-07-18 21:15:03.000000000 +0200 +++ CWB7.1p/agent/ccs/AgentProtected.sig 2015-06-02 20:00:25.021048400 +0200 @@ -4,7 +4,8 @@ signature AGENT_PROTECTED = sig include AGENT - structure A' : ACT_PROTECTED sharing A = A' + structure A' : ACT_PROTECTED (* -AK sharing A = A' -AK *) + sharing type A'.act = A.act structure Eval : EVAL sharing A'.Value' = Eval.Value structure P : PREFIX sharing P.A = A' @@ -35,7 +36,7 @@ sig (* NOTHING, but NOTHING, should use this directly. Use real and hashval *) (* Does ML really force me to put it here? *) and agent' = DUMMY of (privateAgent * Word.word) ref - sharing type agent = agent' + (* -AK sharing type agent = agent' -AK *) val real : agent -> privateAgent val makeAgent : privateAgent -> agent diff -rupN CWB7.1/agent/sccs/AgentProtected.sig CWB7.1p/agent/sccs/AgentProtected.sig --- CWB7.1/agent/sccs/AgentProtected.sig 1999-07-18 21:15:58.000000000 +0200 +++ CWB7.1p/agent/sccs/AgentProtected.sig 2015-06-02 20:32:18.666860000 +0200 @@ -4,7 +4,8 @@ signature SCCS_AGENT_PROTECTED = sig include AGENT - structure A' : SCCS_ACT_PROTECTED sharing A = A' + structure A' : SCCS_ACT_PROTECTED (* -AK sharing A = A' -AK *) + sharing type A'.act = A.act type literalRelabelling diff -rupN CWB7.1/common.ml CWB7.1p/common.ml --- CWB7.1/common.ml 1999-07-18 21:09:30.000000000 +0200 +++ CWB7.1p/common.ml 2015-06-02 20:03:05.721015700 +0200 @@ -112,7 +112,10 @@ struct | strip (#"\t"::t) = strip t | strip (#"\n"::t) = strip t | strip l = l - val revline = strip(rev(strip(explode(TextIO.inputLine infile)))) + (* -AK val revline = strip(rev(strip(explode(TextIO.inputLine infile)))) *) + val revline = case TextIO.inputLine infile of + NONE => nil + | SOME inputLine => strip(rev(strip(explode(inputLine)))) in implode(rev revline) end @@ -131,7 +134,8 @@ struct let val (rd as TextPrimIO.RD{ioDesc,...}, buf) = TextIO.StreamIO.getReader(TextIO.getInstream instream) in TextIO.setInstream - (instream, TextIO.StreamIO.mkInstream(rd, SOME buf)); + (* -AK (instream, TextIO.StreamIO.mkInstream(rd, SOME buf)); *) + (instream, TextIO.StreamIO.mkInstream(rd, buf)); case ioDesc of NONE => false | SOME desc => (OS.IO.kind desc = OS.IO.Kind.tty) Binary files CWB7.1/cwb.x86-win32 and CWB7.1p/cwb.x86-win32 differ diff -rupN CWB7.1/logic/Df.str CWB7.1p/logic/Df.str --- CWB7.1/logic/Df.str 1999-07-18 21:12:10.000000000 +0200 +++ CWB7.1p/logic/Df.str 2015-06-02 20:28:16.798256400 +0200 @@ -1,9 +1,12 @@ RCS "$Id: Df.str,v 1.8 1998/08/13 11:39:02 pxs Exp $"; functor Df ( structure L : MU_CALCULUS_PROTECTED; - structure Parser : LOGIC_PARSER; - structure PG : POLYGRAPH; - sharing PG.Ag = Parser.Ag - and Parser.Ag.A = L.M.A) : sig end = + structure Parser : LOGIC_PARSER + where type Ag.A.act = L.M.A.act; + structure PG : POLYGRAPH + where type Ag.agent = Parser.Ag.agent + and type Ag.A.act = Parser.Ag.A.act; + (* -AK sharing PG.Ag = Parser.Ag + and Parser.Ag.A = L.M.A -AK *)) : sig end = struct structure Ag = Parser.Ag structure PG = PG diff -rupN CWB7.1/logic/Logic.str CWB7.1p/logic/Logic.str --- CWB7.1/logic/Logic.str 1999-07-18 21:12:11.000000000 +0200 +++ CWB7.1p/logic/Logic.str 2015-06-02 20:07:17.412534000 +0200 @@ -4,14 +4,23 @@ functor Logic ( structure M : MODALITY_P structure M' = M structure M = M - datatype prop' = True - | Var of V.var - | Not of prop' - | And of prop' * prop' - | Nec of M.modality * prop' - | Max of V.var * prop' - type prop = prop' - + datatype prop = + True + | Var of V.var + | Not of prop + | And of prop * prop + | Nec of M.modality * prop + | Max of V.var * prop +(* -AK + datatype prop' = + True + | Var of V.var + | Not of prop' + | And of prop' * prop' + | Nec of M.modality * prop' + | Max of V.var * prop' + type prop = prop' +-AK *) (* There must be lots of better ways to do this. *) (********************) diff -rupN CWB7.1/logic/ModalityComplexProtected.sig CWB7.1p/logic/ModalityComplexProtected.sig --- CWB7.1/logic/ModalityComplexProtected.sig 1999-07-18 21:12:12.000000000 +0200 +++ CWB7.1p/logic/ModalityComplexProtected.sig 2015-06-02 20:08:51.000508800 +0200 @@ -12,7 +12,8 @@ signature MODALITY_COMPLEX_PROTECTED = | Modvar of V.var | Negmodvar of V.var - include MODALITY_COMPLEX where A = A' where type modality = modality' + (* -AK include MODALITY_COMPLEX where A = A' where type modality = modality' -AK *) + include MODALITY_COMPLEX where type A.act = A'.act and type modality = modality' (* replace variables with what they denote in the global set environment*) (* Raise Error if we find a variable not defined in the set env. *) diff -rupN CWB7.1/logic/MuCalculusFuns.str CWB7.1p/logic/MuCalculusFuns.str --- CWB7.1/logic/MuCalculusFuns.str 1999-07-18 21:12:12.000000000 +0200 +++ CWB7.1p/logic/MuCalculusFuns.str 2015-06-02 20:10:45.692329000 +0200 @@ -8,7 +8,11 @@ RCS "$Id: MuCalculusFuns.str,v 1.12 1998 (* that would be a real pain and doesn't (yet) seem worthwhile. *) functor MuCalculusFuns (structure L : MU_CALCULUS_PROTECTED; structure Parser : LOGIC_PARSER - sharing Parser.L = L) + (* -AK sharing Parser.L = L -AK *) + where type L.M.modality = L.M.modality + and type L.M.A.act = L.M.A.act + and type L.prop = L.prop + and type L.param = L.param) : MU_CALCULUS_FUNS = struct structure L : MU_CALCULUS_PROTECTED = L diff -rupN CWB7.1/logic/TranslateLogic.str CWB7.1p/logic/TranslateLogic.str --- CWB7.1/logic/TranslateLogic.str 1999-07-18 21:12:13.000000000 +0200 +++ CWB7.1p/logic/TranslateLogic.str 2015-06-02 20:26:14.631017500 +0200 @@ -4,11 +4,14 @@ RCS "$Id: TranslateLogic.str,v 1.21 1998 (* remains to be done here is to put that thing into a new box, complaining *) (* if it doesn't fit. *) functor TranslateLogic (structure LFuns : MU_CALCULUS_FUNS; - structure HML : LOGIC_PROTECTED; - structure ModTran : TRANSLATE_MODALITY - sharing HML.M.A = LFuns.L.M.A - and ModTran.Modality = HML.M - and ModTran.ModalityComplex = LFuns.L.M) : TRANSLATE_LOGIC = + structure HML : LOGIC_PROTECTED + where M.A = LFuns.L.M.A; + structure ModTran : TRANSLATE_MODALITY + where type Modality.modality = HML.M.modality + and type ModalityComplex.modality = LFuns.L.M.modality; + (* -AK sharing HML.M.A = LFuns.L.M.A + and ModTran.Modality = HML.M + and ModTran.ModalityComplex = LFuns.L.M -AK *)) : TRANSLATE_LOGIC = struct structure L = LFuns.L structure HML = HML diff -rupN CWB7.1/logic/TranslateLogic2.str CWB7.1p/logic/TranslateLogic2.str --- CWB7.1/logic/TranslateLogic2.str 1999-07-18 21:12:13.000000000 +0200 +++ CWB7.1p/logic/TranslateLogic2.str 2015-06-02 20:27:19.716546200 +0200 @@ -4,11 +4,14 @@ RCS "$Id: TranslateLogic2.str,v 1.8 1998 (* remains to be done here is to put that thing into a new box, complaining *) (* if it doesn't fit. *) functor TranslateLogic2 (structure LFuns : MU_CALCULUS_FUNS; - structure HML : LOGIC2_PROTECTED; - structure ModTran : TRANSLATE_MODALITY; - sharing ModTran.ModalityComplex = LFuns.L.M + structure HML : LOGIC2_PROTECTED + where M.A = LFuns.L.M.A; + structure ModTran : TRANSLATE_MODALITY + where type Modality.modality = HML.M.modality + and type ModalityComplex.modality = LFuns.L.M.modality; + (* -AK sharing ModTran.ModalityComplex = LFuns.L.M and ModTran.Modality = HML.M - and HML.M.A = LFuns.L.M.A) : TRANSLATE_LOGIC = + and HML.M.A = LFuns.L.M.A -AK *)) : TRANSLATE_LOGIC = struct structure L = LFuns.L structure HML = HML diff -rupN CWB7.1/logic/TranslateModality.str CWB7.1p/logic/TranslateModality.str --- CWB7.1/logic/TranslateModality.str 1999-07-18 21:12:13.000000000 +0200 +++ CWB7.1p/logic/TranslateModality.str 2015-06-02 20:16:36.142253300 +0200 @@ -1,8 +1,9 @@ RCS "$Id: TranslateModality.str,v 1.4 1998/08/13 11:39:42 pxs Exp $"; functor TranslateModality ( structure ModalityComplex : MODALITY_COMPLEX_PROTECTED; -structure Modality : MODALITY; -sharing ModalityComplex.A = Modality.A) : TRANSLATE_MODALITY = +structure Modality : MODALITY +where type A.act = ModalityComplex.A.act +(* -AK sharing ModalityComplex.A = Modality.A -AK *)) : TRANSLATE_MODALITY = struct local diff -rupN CWB7.1/LogicWrapper.str CWB7.1p/LogicWrapper.str --- CWB7.1/LogicWrapper.str 1999-07-18 21:09:27.000000000 +0200 +++ CWB7.1p/LogicWrapper.str 2015-06-02 20:17:31.659089600 +0200 @@ -32,8 +32,10 @@ functor LogicWrapper (structure PG : POL structure LFuns = MuCalculusFuns(structure L = L; structure Parser = LogicParser); + (* -AK structure Modality : MODALITY = Modality; structure ModalityComplex : MODALITY_COMPLEX = ModalityComplex; + -AK *) structure Tr = TranslateLogic( structure LFuns = LFuns; structure HML = HML; diff -rupN CWB7.1/MaybeVar.sig CWB7.1p/MaybeVar.sig --- CWB7.1/MaybeVar.sig 1999-07-18 21:09:27.000000000 +0200 +++ CWB7.1p/MaybeVar.sig 2015-06-02 20:04:11.686816200 +0200 @@ -1,6 +1,6 @@ signature MAYBE_VAR = sig - exception Unbound of V.var + (* -AK exception Unbound of V.var -AK *) datatype 'a maybeVar = Literal of 'a | Variable of V.var val dTRT : (('a -> 'b) * (V.var -> 'b)) -> ('a maybeVar) -> 'b val maybeVarString : ('a -> string) -> ('a maybeVar) -> string diff -rupN CWB7.1/MaybeVar.str CWB7.1p/MaybeVar.str --- CWB7.1/MaybeVar.str 1999-07-18 21:09:27.000000000 +0200 +++ CWB7.1p/MaybeVar.str 2015-06-02 20:04:31.648076600 +0200 @@ -5,7 +5,7 @@ (* Q2: is it better to have a standard interface that the 'a must match? *) functor MaybeVar () : MAYBE_VAR = struct - exception Unbound of V.var + (* -AK exception Unbound of V.var -AK *) datatype 'a maybeVar = Literal of 'a | Variable of V.var fun dTRT (f,g) (Literal a) = f a | dTRT (f,g) (Variable v) = g v