-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
32 lines (32 loc) · 3.79 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
<head>
<!-- SPDX-FileCopyrightText: 2024 Arthur A. Gleckler -->
<!-- SPDX-License-Identifier: MIT -->
<title>Ephemerons</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 124: Ephemerons</h1>
<p class="authors">by John Cowan</p>
<p class="based-on"></p>
<p class="status">status: <em>final</em> (2015-11-06)</p>
<p class="keywords">keywords: <a href="https://srfi.schemers.org/?keywords=data-structure">Data Structure</a>, <a href="https://srfi.schemers.org/?keywords=r7rs-large">R7RS Large</a>, <a href="https://srfi.schemers.org/?keywords=r7rs-large-red">R7RS Large: Red Edition</a></p><span class="see-also">See also <a href="/srfi-254/">SRFI 254: Ephemerons and Guardians</a>.</span>
<ul class="info">
<li><a href="srfi-124.html">The SRFI Document</a></li>
<li><a href="https://srfi-email.schemers.org/srfi-124/">Discussion Archive</a></li>
<li><a href="https://github.com/scheme-requests-for-implementation/srfi-124">Git repo (on GitHub)</a></li>
<li><a href="mailto:[email protected]">srfi-124@<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-124 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-124"><input type="hidden" name="action" value="subscribe"><input type="hidden" name="list" value="[email protected]"></form></span></li>
<li><span class="firefox-column-workaround">
<form method="POST" action="https://www.simplelists.com/subscribe.php">
<div class="title">Unsubscribe from srfi-124 mailing list</div><input name="email" placeholder="email address" tabindex="5" type="email"><input class="submit" name="submit" tabindex="6" type="submit" value="Unsubscribe from srfi-124"><input type="hidden" name="action" value="unsubscribe"><input name="list" type="hidden" value="[email protected]"></form></span></li></ul>
<h2>Abstract</h2> <p>An ephemeron is an object with two components called its <em>key</em> and its <em>datum</em>. It differs from an ordinary pair as follows: if the garbage collector (GC) can prove that there are no references to the key except from the ephemeron itself and possibly from the datum, then it is free to <em>break</em> the ephemeron, dropping its reference to both key and datum. In other words, an ephemeron can be broken when nobody else cares about its key. Ephemerons can be used to construct weak vectors or lists and (possibly in combination with finalizers) weak hash tables. <p>Much of this specification is derived with thanks from the MIT Scheme Reference Manual.</body></html>