Viewing File: /usr/share/doc/texinfo/html/_0040expansion.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Texinfo (version 6.7, 23 September 2019),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.

Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2001, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Free Software
Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>@expansion (GNU Texinfo 6.7)</title>

<meta name="description" content="@expansion (GNU Texinfo 6.7)">
<meta name="keywords" content="@expansion (GNU Texinfo 6.7)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<link href="index.html" rel="start" title="Top">
<link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Glyphs-for-Programming.html" rel="up" title="Glyphs for Programming">
<link href="_0040print.html" rel="next" title="@print">
<link href="_0040result.html" rel="prev" title="@result">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<span id="g_t_0040expansion"></span><div class="header">
<p>
Next: <a href="_0040print.html" accesskey="n" rel="next"><code>@print</code></a>, Previous: <a href="_0040result.html" accesskey="p" rel="prev"><code>@result</code></a>, Up: <a href="Glyphs-for-Programming.html" accesskey="u" rel="up">Glyphs for Programming</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<span id="g_t_0040expansion_007b_007d-_0028_21a6_0029_003a-Indicating-an-Expansion"></span><h4 class="subsection">12.9.3 <code>@expansion{}</code> (&rarr;): Indicating an Expansion</h4>

<span id="expansion"></span><span id="index-Expansion_002c-indicating"></span>
<span id="index-Macro-expansion_002c-indicating"></span>
<span id="index-expansion"></span>

<p>When an expression is a macro call, it expands into a new expression.
You can indicate the result of the expansion with the
<code>@expansion{}</code> command.
</p>
<p>The <code>@expansion{}</code> command is displayed as
&lsquo;<samp>&rarr;</samp>&rsquo;, either a long arrow with a flat base or (when
that is not available) the ASCII sequence &lsquo;<samp>==&gt;</samp>&rsquo;.
</p>
<p>For example, the following
</p>
<div class="example">
<pre class="example">@lisp
(third '(a b c))
    @expansion{} (car (cdr (cdr '(a b c))))
    @result{} c
@end lisp
</pre></div>

<p>produces
</p>
<div class="lisp">
<pre class="lisp">(third '(a b c))
    &rarr; (car (cdr (cdr '(a b c))))
    &rArr; c
</pre></div>

<p>which may be read as:
</p>
<blockquote>
<p><code>(third '(a b c))</code> expands to <code>(car (cdr (cdr '(a b c))))</code>;
the result of evaluating the expression is <code>c</code>.
</p></blockquote>

<p>Often, as in this case, an example looks better if the
<code>@expansion{}</code> and <code>@result{}</code> commands are indented.
</p>




</body>
</html>
Back to Directory File Manager