[MLton-commit] r5940

Vesa Karvonen vesak at mlton.org
Fri Aug 24 10:50:46 PDT 2007


Updated terminology.
----------------------------------------------------------------------

U   mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/tie.sig

----------------------------------------------------------------------

Modified: mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/tie.sig
===================================================================
--- mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/tie.sig	2007-08-24 16:50:32 UTC (rev 5939)
+++ mltonlib/trunk/com/ssh/extended-basis/unstable/public/generic/tie.sig	2007-08-24 17:50:45 UTC (rev 5940)
@@ -16,23 +16,21 @@
  * type of the form {t * ... * t}.  Unfortunately, even such a family of
  * fixpoint combinators does not support mutual recursion over different
  * abstract types.
- *
- * See also: [http://mlton.org/Fixpoints]
  *)
 signature TIE = sig
    type 'a dom and 'a cod
    type 'a t = 'a dom -> 'a cod
    (**
-    * The type of fixpoint tiers.
+    * The type of fixpoint witnesses.
     *
     * The type constructors {dom} and {cod} are used to expose the arrow
-    * {->} type constructor (to allow eta-expansion) while preventing
-    * clients from actually applying tiers.
+    * {->} type constructor (to allow eta-expansion) while keeping the
+    * domain and codomain abstract.
     *)
 
    val fix : 'a t -> 'a Fix.t
    (**
-    * Produces a fixpoint combinator from the given tier.  For example,
+    * Produces a fixpoint combinator from the given witness.  For example,
     * one can make a mutually recursive definition of functions:
     *
     *> val isEven & isOdd =
@@ -46,7 +44,7 @@
     *>              | n => isEven (n-0w1)))
     *)
 
-   (** == Making New Tiers == *)
+   (** == Making New Witnesses == *)
 
    val pure : ('a * 'a UnOp.t) Thunk.t -> 'a t
    (**
@@ -57,8 +55,8 @@
    val tier : ('a * 'a Effect.t) Thunk.t -> 'a t
    (**
     * {tier} is used to define fixpoint tiers for new abstract types by
-    * providing a thunk whose instantiation allocates a fresh "knot" and a
-    * procedure for "tying" it.
+    * providing a thunk whose instantiation allocates a mutable proxy and
+    * a procedure for updating it with the result.
     *)
 
    val id : 'a -> 'a t
@@ -68,26 +66,26 @@
 
    val iso : 'b t -> ('a, 'b) Iso.t -> 'a t
    (**
-    * Given an isomorphism between {'a} and {'b} and a tier for {'b},
-    * produces a tier for {'a}.  This is useful when you have a new type
-    * that is isomorphic to some old type for which you already have a
-    * tier.
+    * Given an isomorphism between {'a} and {'b} and a witness for {'b},
+    * produces a witness for {'a}.  This is useful when you have a new
+    * type that is isomorphic to some old type for which you already have
+    * a witness.
     *)
 
    val *` : 'a t * 'b t -> ('a, 'b) Product.t t
    (**
-    * Given tiers for {'a} and {'b} produces a tier for the product {('a,
-    * 'b) Product.t}.  This is used when mutual recursion is needed.
+    * Given witnesses for {'a} and {'b} produces a witness for the product
+    * {('a, 'b) Product.t}.  This is used when mutual recursion is needed.
     *)
 
    val tuple2 : 'a t * 'b t -> ('a * 'b) t
    (**
-    * Given tiers for {'a} and {'b} produces a tier for the product {'a *
-    * 'b}.
+    * Given witnesses for {'a} and {'b} produces a witness for the product
+    * {'a * 'b}.
     *)
 
    (** == Particular Tiers == *)
 
    val function : ('a -> 'b) t
-   (** Tier for functions. *)
+   (** Witness for functions. *)
 end




More information about the MLton-commit mailing list