Skip to content
This repository was archived by the owner on Nov 1, 2018. It is now read-only.

Commit e673ff9

Browse files
committed
changes parallel with uhc-util: CHR rules have field for priority, unused currently
1 parent b84bf35 commit e673ff9

File tree

4 files changed

+29
-21
lines changed

4 files changed

+29
-21
lines changed

EHC/src/ehc/CHR/Instances.chs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,5 +304,7 @@ instance CHRCheckable FIIn Guard VarMp where
304304
instance IsCHRConstraint FIIn Constraint VarMp
305305

306306
instance IsCHRGuard FIIn Guard VarMp
307+
308+
-- instance IsCHRPrio FIIn Prio VarMp
307309
%%]
308310

EHC/src/ehc/CHR/Solve.chs

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@ Assumptions (to be documented further)
2121
%%]
2222

2323
%%[(9 hmtyinfer) import(UHC.Util.CHR.Solve.TreeTrie.Mono hiding(IsCHRSolvable(..), SolveState, SolveTrace, SolveStep, CHRStore), qualified UHC.Util.CHR.Solve.TreeTrie.Mono as Mono) export(module UHC.Util.CHR.Solve.TreeTrie.Mono, IsCHRSolvable(..), SolveState, SolveTrace, SolveStep, CHRStore', CHRSolverConstraint)
24-
instance Mono.IsCHRSolvable FIIn Constraint Guard VarMp
24+
instance Mono.IsCHRSolvable FIIn Constraint Guard Prio VarMp
2525

2626
type CHRSolverConstraint = Constraint
2727

2828
-- | (Class alias) API for solving requirements, hiding Mono/Poly differences
29-
class ( Mono.IsCHRSolvable env c g s
30-
) => IsCHRSolvable env c g s
29+
class ( Mono.IsCHRSolvable env c g p s
30+
) => IsCHRSolvable env c g p s
3131

32-
instance IsCHRSolvable FIIn Constraint Guard VarMp
32+
instance IsCHRSolvable FIIn Constraint Guard Prio VarMp
3333

34-
type CHRStore' e c g s = Mono.CHRStore c g
35-
type SolveState e c g s = Mono.SolveState c g s
36-
type SolveTrace e c g s = Mono.SolveTrace c g s
37-
type SolveStep e c g s = Mono.SolveStep c g s
34+
type CHRStore' e c g p s = Mono.CHRStore c g p
35+
type SolveState e c g p s = Mono.SolveState c g p s
36+
type SolveTrace e c g p s = Mono.SolveTrace c g p s
37+
type SolveStep e c g p s = Mono.SolveStep c g p s
3838
%%]
3939

4040
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -51,16 +51,16 @@ type instance ExtrValVarKey (CHRGuard FIIn VarMp) = TyVarId
5151

5252
-- | (Class alias) API for solving requirements, hiding Mono/Poly differences
5353
class ( Poly.IsCHRSolvable env s
54-
) => IsCHRSolvable env c g s
54+
) => IsCHRSolvable env c g p s
5555

56-
instance IsCHRSolvable FIIn Constraint Guard VarMp
56+
instance IsCHRSolvable FIIn Constraint Guard Prio VarMp
5757

5858
type instance TTKey (CHRConstraint FIIn VarMp) = TTKey Constraint
5959

60-
type CHRStore' e c g s = Poly.CHRStore e s
61-
type SolveState e c g s = Poly.SolveState e s
62-
type SolveTrace e c g s = Poly.SolveTrace e s
63-
type SolveStep e c g s = Poly.SolveStep e s
60+
type CHRStore' e c g p s = Poly.CHRStore e s
61+
type SolveState e c g p s = Poly.SolveState e s
62+
type SolveTrace e c g p s = Poly.SolveTrace e s
63+
type SolveStep e c g p s = Poly.SolveStep e s
6464
%%]
6565

6666
%%[(9999 hmtyinfer) import(Control.Monad, Data.Typeable, UHC.Util.Serialize)
@@ -85,8 +85,12 @@ instance Serialize (CHRRule FIIn VarMp) where
8585
%%% For both variants
8686
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8787

88-
%%[(9 hmtyinfer) export(CHRStore)
89-
type CHRStore = CHRStore' FIIn Constraint Guard VarMp
88+
%%[(9 hmtyinfer) export(CHRStore, Prio)
89+
-- dummy (for now)
90+
type Prio = ()
91+
-- type CHRPrio = Prio
92+
93+
type CHRStore = CHRStore' FIIn Constraint Guard Prio VarMp
9094
%%]
9195

9296
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

EHC/src/ehc/Core/CommonBindExtract.cag

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44

55
To be filled in hooks:
6-
- boundval
6+
- result: local attr boundval
7+
- its type: SelVal
8+
- its selection mechanism: inherited attr boundsel
79

810
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
911
%%% Selection criterium (on AG level thus only 1 is possible because hardwired via attr name)

EHC/src/ehc/Pred/ToCHR.chs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ mkClassSimplChrs :: FIIn -> CHRStore -> CHRClassDecl -> CHRStore
210210
mkClassSimplChrs env rules (context, head, infos)
211211
= simps
212212
where simps = chrStoreFromElems $ mapTrans (Set.fromList [head1]) [] head1 (zip infos (map (\p -> Red_Pred $ mkCHRPredOcc p sc1) context))
213-
(superClassesWork, superClassesDone, _ :: SolveTrace FIIn Constraint Guard VarMp)
213+
(superClassesWork, superClassesDone, _ :: SolveTrace FIIn Constraint Guard Prio VarMp)
214214
= chrSolve' env rules (map (\p -> toSolverConstraint $ mkAssume $ mkCHRPredOcc p sc1) context)
215215
superClasses = superClassesWork ++ superClassesDone
216216
graph = mkRedGraphFromReductions $ filterMb fromSolverConstraint superClasses
@@ -279,9 +279,9 @@ mkInstanceChr (context, hd, i, s)
279279
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
280280

281281
%%[(9 hmtyinfer) export(SimplifyResult, SimplifyResult''(..),emptySimplifyResult)
282-
data SimplifyResult'' p i g s
282+
data SimplifyResult'' p i g pr s
283283
= SimplifyResult
284-
{ simpresSolveState :: SolveState FIIn (Constraint' p i) g s
284+
{ simpresSolveState :: SolveState FIIn (Constraint' p i) g pr s
285285
, simpresRedGraph :: RedGraph' p i
286286

287287
-- for debugging only:
@@ -291,7 +291,7 @@ data SimplifyResult'' p i g s
291291
, simpresRemPredL :: [p] -- remaining pred occurrences, which cannot be proven, as a list
292292
}
293293

294-
type SimplifyResult' g s = SimplifyResult'' CHRPredOcc RedHowAnnotation g s
294+
type SimplifyResult' g s = SimplifyResult'' CHRPredOcc RedHowAnnotation g Prio s
295295

296296
type SimplifyResult = SimplifyResult' Guard VarMp
297297

0 commit comments

Comments
 (0)