<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffee" text="#000000">
<tt><br>
I just spent a couple minutes fiddling with a revision to the
ORDERED concept to introduce partial orders. I do not really care for
the names I am using here, but I was not sure whether it would be
desirable to have types and signatures with names as long as
»partially_ordered« or »TOTALLY_ORDERED_EX«.<br>
<br>
Index: ../ext-basis/public/concept/ordered.sig<br>
===================================================================<br>
--- ../ext-basis/public/concept/ordered.sig (revision 5543)<br>
+++ ../ext-basis/public/concept/ordered.sig (working copy)<br>
@@ -21,29 +21,47 @@<br>
*)<br>
end<br>
<br>
-signature ORDERED_EX = sig<br>
- type ordered_ex<br>
+(** == POrdered ==<br>
+ *<br>
+ * A pordered type implements a partial order.<br>
+ *)<br>
<br>
- val < : ordered_ex BinPr.t<br>
- (** {i < j} returns {true} iff {i} is less than {j}. *)<br>
+signature PORDERED_CORE = sig<br>
+ type pordered<br>
<br>
- val <= : ordered_ex BinPr.t<br>
+ val <= : pordered BinPr.t<br>
(** {i <= j} returns {true} iff {i} is less than or equal to
{j}. *)<br>
+end<br>
<br>
- val > : ordered_ex BinPr.t<br>
+signature PORDERED_EX = sig<br>
+ type pordered_ex<br>
+<br>
+ val < : pordered_ex BinPr.t<br>
+ (** {i < j} returns {true} iff {i} is less than {j}. *)<br>
+<br>
+ val > : pordered_ex BinPr.t<br>
(** {i > j} returns {true} iff {i} is greater than {j}. *)<br>
<br>
- val >= : ordered_ex BinPr.t<br>
+ val >= : pordered_ex BinPr.t<br>
(** {i >= j} returns {true} iff {i} is greater than or equal to
{j}. *)<br>
+end<br>
<br>
- val max : ordered_ex BinOp.t<br>
+signature TORDERED_EX = sig<br>
+ type tordered_ex<br>
+<br>
+ val max : tordered_ex BinOp.t<br>
(** Returns the larger of the arguments. *)<br>
<br>
- val min : ordered_ex BinOp.t<br>
+ val min : tordered_ex BinOp.t<br>
(** Returns the smaller of the arguments. *)<br>
end<br>
<br>
signature ORDERED = sig<br>
- include ORDERED_CORE EQUALITY ORDERED_EX<br>
- sharing type ordered = equality = ordered_ex<br>
+ include ORDERED_CORE PORDERED_CORE EQUALITY PORDERED_EX TORDERED_EX<br>
+ sharing type ordered = pordered = equality = pordered_ex =
tordered_ex<br>
end<br>
+<br>
+signature PORDERED = sig<br>
+ include PORDERED_CORE EQUALITY PORDERED_EX<br>
+ sharing type pordered = equality = pordered_ex<br>
+end<br>
<br>
</tt><br>
<pre class="moz-signature" cols="72">--
[Geoff Washburn|<a class="moz-txt-link-abbreviated" href="mailto:geoffw@cis.upenn.edu">geoffw@cis.upenn.edu</a>|<a class="moz-txt-link-freetext" href="http://www.cis.upenn.edu/~geoffw/">http://www.cis.upenn.edu/~geoffw/</a>]
</pre>
</body>
</html>