Added solver for Functor actions
This commit is contained in:
parent
88994419e3
commit
8d3f175a82
@ -66,13 +66,13 @@ module Make (T : Utils.Functor) = struct
|
||||
begin match (evalc c) with
|
||||
| NRet a -> NRet (fun ctx -> (f (a ctx)))
|
||||
| NErr e -> NErr e
|
||||
| NDo act -> Utils.not_yet "NDo" (act)
|
||||
| NDo act -> NDo (T.map (fun c -> Constraint.Map(c,f)) act)
|
||||
end
|
||||
| MapErr(c, f) ->
|
||||
begin match (evalc c) with
|
||||
| NRet a -> NRet a
|
||||
| NErr e -> NErr (f e)
|
||||
| NDo act -> Utils.not_yet "NDo" (act)
|
||||
| NDo act -> NDo (T.map (fun c -> Constraint.MapErr(c,f)) act)
|
||||
end
|
||||
| Conj(c,d) ->
|
||||
begin match (evalc c) with
|
||||
@ -80,10 +80,10 @@ module Make (T : Utils.Functor) = struct
|
||||
begin match (evalc d) with
|
||||
| NRet b -> NRet (fun ctx -> (a ctx,b ctx))
|
||||
| NErr e -> NErr e
|
||||
| NDo act -> Utils.not_yet "NDo" (act)
|
||||
| NDo act2 -> NDo (T.map (fun d -> Constraint.Conj(c,d)) act2)
|
||||
end
|
||||
| NErr e -> NErr e
|
||||
| NDo act -> Utils.not_yet "NDo" (act)
|
||||
| NDo act1 -> NDo (T.map (fun c -> Constraint.Conj(c,d)) act1)
|
||||
end
|
||||
| Eq(x,y) ->
|
||||
begin match (Unif.unify (!env) x y) with
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user