X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=hints%2Fassignment_7_hint_6.mdwn;h=d69c92e7ed4d65fc9bfef71003559acb4efed46c;hp=0d9f02e8af9f33c454cfadef6dc6ce8ddf37dd95;hb=4b1834a17fc7a43ea9aa5166afcf5710b65f6856;hpb=c6f572fd09dbe53dff30a91cd07b318b3e5edfd6 diff --git a/hints/assignment_7_hint_6.mdwn b/hints/assignment_7_hint_6.mdwn index 0d9f02e8..d69c92e7 100644 --- a/hints/assignment_7_hint_6.mdwn +++ b/hints/assignment_7_hint_6.mdwn @@ -76,6 +76,8 @@ type clause = bool dpm -> bool dpm set;; +* More: + (* this generalizes the getx function from hint 4 *) let get (var : char) : entity dpm = fun (r, h) -> @@ -100,8 +102,6 @@ else bind_dpm entity1_dpm (fun e1 -> bind_dpm entity2_dpm (fun e2 -> unit_dpm (f e1 e2))) in fun one_dpm -> unit_set (bind_dpm one_dpm eliminator);; -  - let new_peg_and_assign (var_to_bind : char) (d : entity) : bool -> bool dpm = fun truth_value -> fun (r, h) -> @@ -119,6 +119,8 @@ (* include negate_op, and_op, or_op, and if_op as above *) +* More: + (* some handy utilities *) let (>>=) = bind_set;; let getx = get 'x';;