summaryrefslogtreecommitdiffstats
path: root/srfi-225.html
diff options
context:
space:
mode:
authorGravatar John Cowan 2022-06-01 12:51:32 -0400
committerGravatar John Cowan 2022-06-01 12:51:32 -0400
commitbbcdc9351c5b98a2d162f880e4b87b63d2f49cda (patch)
treeebe730caccc44a7871135cda1ce2fe4fa46c23f3 /srfi-225.html
parentwip (diff)
parentFix two examples. (diff)
merge with upstream
Diffstat (limited to 'srfi-225.html')
-rw-r--r--srfi-225.html26
1 files changed, 13 insertions, 13 deletions
diff --git a/srfi-225.html b/srfi-225.html
index caa7fe7..bc4de96 100644
--- a/srfi-225.html
+++ b/srfi-225.html
@@ -40,7 +40,7 @@ None at present.
<h2 id="rationale">Rationale</h2>
-<p>Until recently there was only one universally available mechanism for managing key-value pairs: alists.
+<p>Until recently, there was only one universally available mechanism for managing key-value pairs: alists.
Most Schemes also support hash tables, but until R6RS there was no standard interface to them, and many implementations
do not provide that interface..p>/p>
In addition, alists can have multiple entries with the
@@ -216,9 +216,9 @@ Otherwise, returns two values, a dictionary that contains
<code>(dict-pop!</code>&nbsp;<em>dto dict</em><code>)</code></p>
<p>Chooses an association from <em>dict</em> and returns three values:
a dictionary that contains all associations of <em>dict</em> except the chosen one,
- and the key and the value of the association chosen.
+ the key, and the value of the association chosen.
If the dictionary is inherently ordered, the first association is chosen;
- otherwise the chosen association is arbitrary.</p>
+ otherwise, the chosen association is arbitrary.</p>
<p>If <em>dict</em> contains no associations, it is an error.</p>
<blockquote><pre>(dict-pop dto dict) =&gt; ; 3 values
{3:4, 5:6}
@@ -316,7 +316,7 @@ one for each of the four procedures:
<p>Passes each association of <em>dict</em> as two arguments to <em>pred</em>
and returns the value of the first call to <em>pred</em> that returns true,
after which no further calls are made. If the dictionary type is inherently ordered,
- associations are processed in that order; otherwise in an arbitrary order.
+ associations are processed in that order; otherwise, in an arbitrary order.
If all calls return false, <code>dict-any</code> returns false.</p>
<blockquote><pre>(define (both-even? k v) (and (even? k) (even? v)))
(dict-any dto both-even? '{2:4, 3:5}) =&gt; #t
@@ -325,7 +325,7 @@ one for each of the four procedures:
<p>Passes each association of <em>dict</em> as two arguments to <em>pred</em>
and returns <code>#f</code> after the first call to <em>pred</em> that returns false,
after which no further calls are made. If the dictionary type is inherently ordered,
- associations are processed in that order; otherwise in an arbitrary order.
+ associations are processed in that order; otherwise, in an arbitrary order.
If all calls return true, <code>dict-any</code> returns the value of the last call,
or <code>#t</code> if no calls are made.</p>
<blockquote><pre>(define (some-even? k v) (or (even? k) (even? v)))
@@ -333,7 +333,7 @@ one for each of the four procedures:
(dict-every dto some-even? '{1:3, 3:4}) =&gt; #f</pre></blockquote>
<p><code>(dict-keys</code>&nbsp;<em>dto dict</em><code>)</code></p>
<p>Returns a list of the keys of <em>dict</em>. If the dictionary type is inherently ordered,
- associations appear in that order; otherwise in an arbitrary order.
+ associations appear in that order; otherwise, in an arbitrary order.
The order may change when new elements are added to <em>dict</em>.</p>
<blockquote><pre>(dict-keys dto dict) =&gt; (1 3 5)</pre></blockquote>
<p><code>(dict-values</code>&nbsp;<em>dto dict</em><code>)</code></p>
@@ -374,7 +374,7 @@ one for each of the four procedures:
<p>Invokes <em>proc</em> on each key of <em>dict</em> and its corresponding value in that order.
This procedure is used for doing operations on the whole dictionary.
If the dictionary type is inherently ordered, associations are processed in the order specified
- by the dictionary's comparator; otherwise they are processed in an arbitrary order.
+ by the dictionary's comparator; otherwise, they are processed in an arbitrary order.
The <em>start</em> and <em>end</em> arguments specify the inclusive lower bound and exclusive upper bound
of the keys (in the sense of the dictionary's comparator).
They can can provide additional efficiency when iterating over part of the dictionary
@@ -384,9 +384,9 @@ one for each of the four procedures:
; writes &quot;135&quot; to current output</pre></blockquote>
<p><code>(dict-&gt;generator</code>&nbsp;<em>dto dict</em> [ <em>start</em> [ <em>end</em> ] ] <code>)</code></p>
<p>Returns a <a href="https://srfi.schemers.org/srfi-158/srfi-158.html">SRFI 158 generator</a>
- that when invoked returns the associations of <em>dict</em> as pairs.
+ that, when invoked, returns the associations of <em>dict</em> as pairs.
If the dictionary type is inherently ordered, associations are generated in the order specified
- by the dictionary's comparator; otherwise they are generated in an arbitrary order.
+ by the dictionary's comparator; otherwise, they are generated in an arbitrary order.
<p>The <em>start</em> and <em>end</em> arguments specify the inclusive lower bound and exclusive upper bound
of the keys to be processed (in the sense of the dictionary's comparator).
They can can provide additional efficiency when iterating over part of the dictionary
@@ -395,14 +395,14 @@ one for each of the four procedures:
When all the associations have been processed, returns an end-of-file object.</p>
<p><code>(dict-set-accumulator</code>&nbsp;<em>dto dict</em><code>)</code><br>
<code>(dict-set!-accumulator</code>&nbsp;<em>dto dict accum</em><code>)</code></p>
-<p>Returns a SRFI 158 accumulator procedure that when invoked on a pair adds the <code>car</code> and <code>cdr</code> of the pair
+<p>Returns a SRFI 158 accumulator procedure that, when invoked on a pair, adds the <code>car</code> and <code>cdr</code> of the pair
as a key and value of <em>dict</em> as if by <code>dict-set</code>, eventually returning the new value of <em>dict</em>.
If invoked on an end-of-file object, no action is taken and <em>dict</em> is returned.</p>
<p>The <code>!</code> variant uses <code>dict-set!</code> instead.
<p><code>(dict-adjoin-accumulator</code>&nbsp;<em>dto dict</em><code>)</code><br>
<code>(dict-adjoin!-accumulator!</code>&nbsp;<em>dto dict</em><code>)</code></p>
<p>The same as <code>dict-set(!)-accumulator</code>, except using <code>dict-adjoin(!)</code>. </p>
-<h3 id="dictionary-type-object-procedures">Dmictionary type object procedures (non-generic)</h3>
+<h3 id="dictionary-type-object-procedures">Dictionary type object procedures (non-generic)</h3>
<p><code>(dto?</code>&nbsp;<em>obj</em><code>)</code></p>
<p>Returns <code>#t</code> if <em>obj</em> is a DTO, and <code>#f</code> otherwise.</p>
<p><code>(make-dto</code>&nbsp;<em>arg</em> …<code>)</code><br>
@@ -468,7 +468,7 @@ This allows the ability to call a particular DTO procedure multiple times more e
If a particular procedure in a DTO cannot be implemented, it instead
should signal an appropriate dictionary error that can be reliably caught.
<p><code>(dictionary-error?</code>&nbsp;<em>obj</em><code>)</code></p>
-<p>Returns <code>#t</code> if <em>obj</em> is a dictionary error
+<p>Returns <code>#t</code> if <em>obj</em> is a dictionary error,
and <code>#f</code> otherwise.
<p><code>(dictionary-message</code>&nbsp;<em>dictionary-error</em><code>)</code></p>
<p>Returns the message associated with <em>dictionary-error.</em></p>
@@ -483,7 +483,7 @@ The last two provide DTOs for alists using <code>eqv?</code>
and <code>equal?</code> respectively.</p>
<h2 id="implementation">Implementation</h2>
-<p>The sample implementation is found in the GitHub repository.</p>
+<p>The sample implementation is found in the <a href="https://github.com/scheme-requests-for-implementation/srfi-225">GitHub repository</a>.</p>
<p>The following list of dependencies is designed to ease defining
new dictionary types that may not have complete dictionary APIs:</p>
width='13' height='13' alt='Gravatar' /> bencollins 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@124 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Re-add the pdf buildGravatar bencollins 1-0/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@121 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Update Debian files.Gravatar bencollins 4-25/+73 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@120 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Ok, the Debian package was way out of sync with upstreamGravatar bencollins 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@119 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Ooops...libtool works a bit different than I thought, but atleast it worksGravatar bencollins 2-6/+1 like it is supposed to. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@117 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Generate and install the pdf in the Debian package.Gravatar bencollins 3-3/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@114 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Don't run configure at the end of autogen.sh. Also, remove autom4te.cache.Gravatar bencollins 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@113 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Update Debian maintainerGravatar bencollins 1-1/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@112 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Update Debian changelog.Gravatar bencollins 1-0/+8 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@111 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13File doesn't really seem needed. The NEWS file gives a good overview, andGravatar bencollins 1-4/+0 the svn log is more than verbose enough for info seekers. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@110 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Fix compiler warnings.Gravatar bencollins 4-12/+22 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@109 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-07-13Updates from 0.10.0 release.Gravatar bencollins 4-5/+14 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@108 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-04-23add libtoolize to bootstrapGravatar ddennedy 1-1/+10 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@107 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-04-21added Dan Maas' rawiso docsGravatar ddennedy 1-32/+295 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@106 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-04-07new_handle_on_port() error path fix from Jim RadfordGravatar dmaas 1-1/+3 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@105 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-03-26add raw1394_new_handle_on_port() convenience functionGravatar dmaas 2-1/+41 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@104 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-02-22Updates for new rawiso ioctl interface.Gravatar bencollins 3-37/+125 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@103 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-15add iso_xmit_sync() and iso_xmit_write(); clean up iso handling a bitGravatar dmaas 5-39/+161 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@102 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-15implement tag matching for rawiso receptionGravatar dmaas 3-4/+12 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@101 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-06back out previous commit - don't drop the legacy API just yetGravatar dmaas 6-173/+130 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@100 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-05emulate legacy ISO reception API on top of new rawiso APIGravatar dmaas 7-131/+174 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@99 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-24update iso API for multi-channel reception and new packet buffer layoutGravatar dmaas 4-123/+236 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@98 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20oops, irq_interval needs to be signedGravatar anonymous 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@97 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20dmaas - renamed exported arm definitions into the raw1394_ namespace; ↵Gravatar anonymous 3-124/+48 brought kernel-raw1394.h back in sync with the kernel version git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@96 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-16rawiso updates:Gravatar dmaas 3-18/+25 - changed return type of rawiso xmit/recv handlers from int to enum raw1394_iso_disposition - added an ioctl (RAW1394_ISO_QUEUE_ACTIVITY) to force an ISO_ACTIVITY event into the queue. This is needed for handling RAW1394_ISO_DEFER, to kick us out of the next read() instead of sleeping forever. - removed references to "8-byte" isochronous header - this is an OHCI-specific implementation detail git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@95 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18fix cplusplus extern C blockGravatar ddennedy 1-4/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@94 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18merged rawiso branchGravatar ddennedy 7-6/+488 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@93 53a565d1-3bb7-0310-b661-cf11e63c67ab