summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Daphne Preston-Kendal 2021-12-29 18:33:04 +0100
committerGravatar Daphne Preston-Kendal 2021-12-29 18:33:04 +0100
commit8e70fdb906193c0b4e12f72b616b484893c4a49c (patch)
tree5846767cbe5c37f0f0cc19fac2d34faab9ac1ab8
parentExpress hope for a iteration solution (diff)
parentPublish first draft. (diff)
Merge branch 'master' of github.com:dpk/srfi-228
-rw-r--r--README.org20
-rw-r--r--index.html81
-rw-r--r--srfi-228.html15
3 files changed, 111 insertions, 5 deletions
diff --git a/README.org b/README.org
new file mode 100644
index 0000000..33acebc
--- /dev/null
+++ b/README.org
@@ -0,0 +1,20 @@
+* SRFI 228: A further comparator library
+
+** by Daphne Preston-Kendal
+
+
+
+keywords: [[https://srfi.schemers.org/?keywords=comparison][Comparison]]
+
+This repository hosts [[https://srfi.schemers.org/srfi-228/][SRFI 228]]: A further comparator library, a [[https://srfi.schemers.org/][Scheme Request for Implementation]].
+
+This SRFI is in /draft/ status.
+
+The full documentation for this SRFI can be found in the [[https://srfi.schemers.org/srfi-228/srfi-228.html][SRFI Document]].
+
+If you'd like to participate in the discussion of this SRFI, or report issues with it, please [[https://srfi.schemers.org/srfi-228/][join the SRFI-228 mailing list]] and send your message there.
+
+Thank you.
+
+
+[[mailto:srfi-editors@srfi.schemers.org][The SRFI Editors]]
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..8e4a1ae
--- /dev/null
+++ b/index.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>A further comparator library</title>
+ <link href="/admin.css" rel="stylesheet">
+ <link href="/list.css" rel="stylesheet">
+ <link href="/favicon.png" rel="icon" sizes="192x192" type="image/png">
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
+ });
+ </script>
+ <script crossorigin="anonymous" integrity=
+ "sha384-Ra6zh6uYMmH5ydwCqqMoykyf1T/+ZcnOQfFPhDrp2kI4OIxadnhsvvA2vv9A7xYv" src=
+ "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
+ type="text/javascript"></script>
+ </head>
+
+ <body>
+ <h1>SRFI 228: A further comparator library</h1>
+ <p class="authors">by Daphne Preston-Kendal</p>
+ <p class="based-on"></p>
+ <p class="status">status: <em>draft</em> (2021-08-28)</p>
+ <p class="keywords">keywords: <a href="https://srfi.schemers.org/?keywords=comparison">Comparison</a></p>
+
+ <ul class="info">
+ <li><a href="srfi-228.html">The SRFI Document</a></li>
+ <li><a href="https://srfi-email.schemers.org/srfi-228/">Discussion Archive</a></li>
+ <li><a href="https://github.com/scheme-requests-for-implementation/srfi-228">Git repo (on Github)</a></li>
+ <li>
+ <a href="mailto:srfi-228@srfi.schemers.org">srfi-228@<span class="antispam">nospam</span>srfi.schemers.org (subscribers only)</a></li>
+ <li>
+ <span class="firefox-column-workaround">
+ <form method="POST" action="https://www.simplelists.com/subscribe.php">
+ <div class="title">Subscribe to srfi-228 mailing list</div>
+ <input name="email"
+ placeholder="email address"
+ tabindex="1"
+ type="email" >
+ <input name="name"
+ placeholder="full name"
+ tabindex="2"
+ type="text" >
+ <p>
+ <input id="sub-digest"
+ name="digest"
+ tabindex="3"
+ type="checkbox"
+ value="digest" >
+ <label for="sub-digest">daily digest?</label></p>
+ <input class="submit"
+ name="submit"
+ tabindex="4"
+ type="submit"
+ value="Subscribe to srfi-228" >
+ <input type="hidden" name="action" value="subscribe">
+ <input type="hidden" name="list" value="srfi-228@srfi.schemers.org"></form></a></li>
+ <li>
+ <span class="firefox-column-workaround">
+ <form method="POST" action="https://www.simplelists.com/subscribe.php">
+ <p class="title">Unsubscribe from srfi-228 mailing list</p>
+ <input name="email"
+ placeholder="email address"
+ tabindex="5"
+ type="email" >
+ <input class="submit"
+ name="submit"
+ tabindex="6"
+ type="submit"
+ value="Unsubscribe from srfi-228" >
+ <input name="action"
+ type="hidden"
+ value="unsubscribe" >
+ <input name="list"
+ type="hidden"
+ value="srfi-228@srfi.schemers.org"></form></a></li></ul>
+ <h2>Abstract</h2><p>Further procedures and syntax forms for defining <a href="https://srfi.schemers.org/srfi-128/srfi-128.html">SRFI 128</a> comparators, and for extracting comparison procedures similar to those defined for Scheme’s built-in types using them.
+
+<p>Best enjoyed in combination with <a href="https://srfi.schemers.org/srfi-162/srfi-162.html">SRFI 162</a>.</body></html> \ No newline at end of file
diff --git a/srfi-228.html b/srfi-228.html
index 0bc4e27..c6a093e 100644
--- a/srfi-228.html
+++ b/srfi-228.html
@@ -19,9 +19,12 @@
<h2 id="status">Status</h2>
-<p>??? the draft/final/withdrawn status of the SRFI, information on how
- to subscribe to its mailing list, and important dates in its history.
- The editor will add this section.</p>
+<p>This SRFI is currently in <em>draft</em> status. Here is <a href="https://srfi.schemers.org/srfi-process.html">an explanation</a> of each status that a SRFI can hold. To provide input on this SRFI, please send email to <code><a href="mailto:srfi+minus+228+at+srfi+dotschemers+dot+org">srfi-228@<span class="antispam">nospam</span>srfi.schemers.org</a></code>. To subscribe to the list, follow <a href="https://srfi.schemers.org/srfi-list-subscribe.html">these instructions</a>. You can access previous messages via the mailing list <a href="https://srfi-email.schemers.org/srfi-228">archive</a>.</p>
+<ul>
+ <li>Received: 2021-08-28</li>
+ <li>60-day deadline: 2021-10-30</li>
+ <li>Draft #1 published: 2021-08-31</li>
+</ul>
<h2 id="abstract">Abstract</h2>
@@ -35,7 +38,7 @@
<h2 id="rationale">Rationale</h2>
-<p>A typical pattern for defining comparison behaviour for record types and other user-defined Scheme types is some form of lexicographical order over their member slots. The comparator abstraction of SRFI 128 has useful potential for reducing the code bulk of defining such comparison behaviours: this library is intended to take advantage of that potential.
+<p>A typical pattern for defining comparison behaviour for record types and other user-defined Scheme types is some form of lexicographical order over their member slots. The comparator abstraction of SRFI 128 has useful potential for reducing the code bulk of defining such comparison behaviours. This library is intended to take advantage of that potential.
<h2 id="specification">Specification</h2>
@@ -45,10 +48,12 @@
<dt><code>(make-wrapper-comparator</code> <var>type-test</var> <var>unwrap</var> <var>contents-comparator</var><code>)</code> (Procedure)
<dd>
<p>Returns a comparator which compares values satisfying the predicate <var>type-test</var> by first calling the given <var>unwrap</var> procedure on them, then comparing the output of that procedure with the given <var>contents-comparator</var>. The hash function of the wrapper comparator returns the same value as the <var>contents-comparator</var> run on the unwrapped value.</p>
+ <p class=issue>Add example.</p>
<dt><code>(make-product-comparator</code> <var>type-test</var> <var>comparator</var> ... <code>)</code> (Procedure)
<dd>
<p>Returns a comparator which compares values satisfying the given predicate <var>type-test</var> by comparing them with each of the given comparators in turn, left to right, and returning the result of the first non-equal comparison. If all the given comparators consider two values equal, the product comparator also considers them equal. The hash function of the product comparator hashes together the results of all the given comparators in an implementation-defined way. If the equality or ordering predicates or the hash function of any of the given comparators is <code>#f</code>, the corresponding procedure in the product comparator will also be <code>#f</code>.</p>
+ <p class=issue>Add example.</p>
<dt><code>(make-sum-comparator</code> <var>comparator</var> ... <code>)</code> (Procedure)
<dd>
@@ -92,7 +97,7 @@
<h2 id="implementation">Implementation</h2>
-<p>A portable sample implementation and test suite for R7RS may be found in the repository for this SRFI.
+<p>A portable sample implementation and test suite for R7RS may be found <a href="https://github.com/scheme-requests-for-implementation/srfi-228">in the repository</a> for this SRFI.
<h2 id="acknowledgements">Acknowledgements</h2>