emacs.d/clones/lisp/www.cliki.net/Issue DEFGENERIC-MULTIPLE-DECLARE.html

71 lines
4.9 KiB
HTML
Raw Normal View History

2022-10-07 15:47:14 +02:00
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>CLiki: Issue DEFGENERIC-MULTIPLE-DECLARE</title>
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
href="https://www.cliki.net/site/feed/article.atom?title=Issue%20DEFGENERIC-MULTIPLE-DECLARE">
<link rel="stylesheet" href="static/css/style.css">
<link rel="stylesheet" href="static/css/colorize.css">
</head>
<body>
<span class="hidden">CLiki - Issue DEFGENERIC-MULTIPLE-DECLARE</span>
<div id="content"><div id="content-area"><div id="article-title">Issue DEFGENERIC-MULTIPLE-DECLARE</div><div id="article"><a href="Issue.html" class="category">Issue</a>: DEFGENERIC-MULTIPLE-DECLARE<p>Forum: Editorial<p>References: <a href="https://www.cliki.net/site/HyperSpec/Body/mac_defgeneric.html" class="hyperspec">DEFGENERIC</a><p>Category: CLARIFICATION/CHANGE<p>Edit history: 2004-07-20, Version 1 by Bruno Haible<p>Status: For CLiki consideration<p><dl>
<dt>Problem Description:<p></dt>
<dd>The BNF syntax of <a href="https://www.cliki.net/site/HyperSpec/Body/mac_defgeneric.html" class="hyperspec">DEFGENERIC</a> does not allow multiple <a href="https://www.cliki.net/site/HyperSpec/Body/sym_declare.html" class="hyperspec">DECLARE</a> options. However, the <a href="https://www.cliki.net/site/HyperSpec/Body/mac_defgeneric.html" class="hyperspec">DEFGENERIC</a> description says what to do in this case: "The declare option may be specified more than once. The effect is the same as if the lists of declaration specifiers had been appended together into a single list and specified as a single declare option."<p></dd>
<dt>Proposal (DEFGENERIC-MULTIPLE-DECLARE:ALLOW):<p></dt>
<dd>Allow multiple DECLARE options in the same <a href="https://www.cliki.net/site/HyperSpec/Body/mac_defgeneric.html" class="hyperspec">DEFGENERIC</a> form. Change the BNF syntax from
</dd>
</dl><pre>
[[option | {method-description}*]]
</pre> to <pre>
[[option | {declare-option}* | {method-description}*]]
</pre>
and define
<pre>
declare-option ::= (_H(DECLARE) gf-declaration+)
</pre>
and remove the declare clause from option.<p><dt>Test case:<p></dt><dd><p></dd><dt>Rationale:<p></dt><dd>This is what was probably intended.<p></dd><dt>Current practice:<p></dt><dd>Paul Dietz's DEFGENERIC.26 test assumes ALLOW.<p></dd><dt>Cost to Implementors:<p></dt><dd>Small: Remove an error checking in the DEFGENERIC macro expander.<p></dd><dt>Cost to Users:<p></dt><dd>None.<p></dd><dt>Cost of Non-Adoption:<p></dt><dd><p></dd><dt>Benefits:<p></dt><dd>Avoid an inconsistency.<p></dd><dt>Aesthetics:<p><dt>Discussion:
<ul>
<li>Bruno Haible supports proposal ALLOW.
</li>
</ul><p></dt>
</dt></div></div>
<div id="footer" class="buttonbar"><ul><li><a href="Issue&#32;DEFGENERIC-MULTIPLE-DECLARE.html">Current version</a></li>
<li><a href="https://www.cliki.net/site/history?article=Issue%20DEFGENERIC-MULTIPLE-DECLARE">History</a></li>
<li><a href="https://www.cliki.net/site/backlinks?article=Issue%20DEFGENERIC-MULTIPLE-DECLARE">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=Issue%20DEFGENERIC-MULTIPLE-DECLARE&amp;from-revision=3770933072">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
</div>
<div id="header-buttons" class="buttonbar">
<ul>
<li><a href="https://www.cliki.net/">Home</a></li>
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
<li><a href="CLiki.html">About</a></li>
<li><a href="Text&#32;Formatting.html">Text Formatting</a></li>
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
</ul>
<div id="search">
<form action="https://www.cliki.net/site/search">
<label for="search_query" class="hidden">Search CLiki</label>
<input type="text" name="query" id="search_query" value="" />
<input type="submit" value="search" />
</form>
</div>
</div>
<div id="pageheader">
<div id="header">
<span id="logo">CLiki</span>
<span id="slogan">the common lisp wiki</span>
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
<label for="login_name" class="hidden">Account name</label>
<input type="text" name="name" id="login_name" class="login_input" />
<label for= "login_password" class="hidden">Password</label>
<input type="password" name="password" id="login_password" class="login_input" />
<input type="submit" name="login" value="login" id="login_submit" /><br />
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
</form>
</div>
</div>
</div>
</body></html>