Home My Page Projects Code Snippets Project Openings SML/NJ
 Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

# SCM Repository

[smlnj] Diff of /sml/branches/SMLNJ/src/smlnj-lib/Util/uref-sig.sml
 [smlnj] / sml / branches / SMLNJ / src / smlnj-lib / Util / uref-sig.sml

# Diff of /sml/branches/SMLNJ/src/smlnj-lib/Util/uref-sig.sml

revision 474, Wed Nov 10 22:59:58 1999 UTC revision 475, Wed Nov 10 22:59:58 1999 UTC
# Line 39  Line 39
39   * consequence their contents will also be identical: in the case of link   * consequence their contents will also be identical: in the case of link
40   * and union it will be the contents of one of the two unioned elements,   * and union it will be the contents of one of the two unioned elements,
41   * in the case of unify the contents is determined by a binary   * in the case of unify the contents is determined by a binary
42   * function parameter.   * function parameter.  The link, union, and unify functions return true
43     * when the elements were previously NOT equal.
44   *)   *)
45
46  signature UREF =  signature UREF =
# Line 68  Line 69
69      val update : 'a uref * 'a -> unit      val update : 'a uref * 'a -> unit
70          (* update(e, x) updates the contents of e to be x *)          (* update(e, x) updates the contents of e to be x *)
71
72      val unify : ('a * 'a -> 'a) -> 'a uref * 'a uref -> unit      val unify : ('a * 'a -> 'a) -> 'a uref * 'a uref -> bool
73          (* unify f (e, e') makes e and e' equal; if v and v' are the          (* unify f (e, e') makes e and e' equal; if v and v' are the
74           * contents of e and e', respectively, before unioning them,           * contents of e and e', respectively, before unioning them,
75           * then the contents of the unioned element is f(v,v')           * then the contents of the unioned element is f(v,v').  Returns
76             * true, when elements were not equal prior to the call.
77           *)           *)
78
79      val union : 'a uref * 'a uref -> unit      val union : 'a uref * 'a uref -> bool
80          (* union (e, e') makes e and e' equal; the contents of the unioned          (* union (e, e') makes e and e' equal; the contents of the unioned
81           * element is the contents of one of e and e' before the union operation.           * element is the contents of one of e and e' before the union operation.
82           * After union(e, e') elements e and e' will be congruent in the           * After union(e, e') elements e and e' will be congruent in the
83           * sense that they are interchangeable in any context.           * sense that they are interchangeable in any context..  Returns
84             * true, when elements were not equal prior to the call.
85           *)           *)
86
87      val link : 'a uref * 'a uref -> unit      val link : 'a uref * 'a uref -> bool
88          (* link (e, e') makes e and e' equal; the contents of the linked          (* link (e, e') makes e and e' equal; the contents of the linked
89           * element is the contents of e' before the link operation           * element is the contents of e' before the link operation.  Returns
90             * true, when elements were not equal prior to the call.
91           *)           *)
92
93    end; (* UREF *)    end; (* UREF *)

Legend:
 Removed from v.474 changed lines Added in v.475