diff options
author | 2013-11-09 00:04:51 +0000 | |
---|---|---|
committer | 2013-11-09 00:04:51 +0000 | |
commit | 99cfd0d1fd205f5d5ca536b2bb5414bc43ffc243 (patch) | |
tree | a05cdbe121a1e55223c24f688819a697a22ccc80 /proofs/goal.ml | |
parent | 6cf364b18897c61b3200ed9c5795c7b48cf23b59 (diff) |
Partial applications in Goal.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@17074 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'proofs/goal.ml')
-rw-r--r-- | proofs/goal.ml | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/proofs/goal.ml b/proofs/goal.ml index a036f728d..cd43b3202 100644 --- a/proofs/goal.ml +++ b/proofs/goal.ml @@ -138,8 +138,8 @@ let eval t env defs gl = (* monadic bind on sensitive expressions *) let bind e f = (); fun env rdefs goal info -> let a = e env rdefs goal info in - let b = f a env rdefs goal info in - b + let r = f a in + r env rdefs goal info (* monadic return on sensitive expressions *) let return v = () ; fun _ _ _ _ -> v @@ -169,11 +169,13 @@ module Refinable = struct let make t = (); fun env rdefs gl info -> let r = ref [] in - let me = t r env rdefs gl info in + let me = t r in + let me = me env rdefs gl info in { me = me; my_evars = !r } let make_with t = (); fun env rdefs gl info -> let r = ref [] in - let (me,side) = t r env rdefs gl info in + let t = t r in + let (me,side) = t env rdefs gl info in ({ me = me ; my_evars = !r }, side) let mkEvar handle env typ = (); fun _ rdefs _ _ -> |