<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Chapter&#160;1.&#160;Phoenix 2.0</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Phoenix 2.0">
<link rel="next" href="phoenix/introduction.html" title="Introduction">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav"><a accesskey="n" href="phoenix/introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="phoenix"></a>Chapter&#160;1.&#160;Phoenix 2.0</h2></div>
<div><div class="author"><h3 class="author">
<span class="firstname">Joel</span> <span class="surname">de Guzman</span>
</h3></div></div>
<div><div class="author"><h3 class="author">
<span class="firstname">Dan</span> <span class="surname">Marsden</span>
</h3></div></div>
<div><p class="copyright">Copyright &#169; 2002-2005 Joel
      de Guzman, Dan Marsden</p></div>
<div><div class="legalnotice">
<a name="id826177"></a><p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></div>
</div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="section"><a href="index.html#phoenix.preface">Preface</a></span></dt>
<dt><span class="section"><a href="phoenix/introduction.html">Introduction</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html">Starter Kit</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.values">Values</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.references">References</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.arguments">Arguments</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.composites">Composites</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.lazy_operators">Lazy Operators</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.lazy_statements">Lazy Statements</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.construct__new__delete__casts">Construct,
      New, Delete, Casts</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.lazy_functions">Lazy Functions</a></span></dt>
<dt><span class="section"><a href="phoenix/starter_kit.html#phoenix.starter_kit.more">More</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="phoenix/basics.html">Basics</a></span></dt>
<dt><span class="section"><a href="phoenix/organization.html">Organization</a></span></dt>
<dt><span class="section"><a href="phoenix/actors.html">Actors</a></span></dt>
<dt><span class="section"><a href="phoenix/primitives.html">Primitives</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="phoenix/primitives.html#phoenix.primitives.arguments">Arguments</a></span></dt>
<dt><span class="section"><a href="phoenix/primitives.html#phoenix.primitives.values">Values</a></span></dt>
<dt><span class="section"><a href="phoenix/primitives.html#phoenix.primitives.references">References</a></span></dt>
<dt><span class="section"><a href="phoenix/primitives.html#phoenix.primitives.constant_references">Constant References</a></span></dt>
<dt><span class="section"><a href="phoenix/primitives.html#phoenix.primitives.nothing">Nothing</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="phoenix/composite.html">Composite</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="phoenix/composite.html#phoenix.composite.function">Function</a></span></dt>
<dt><span class="section"><a href="phoenix/composite.html#phoenix.composite.operator">Operator</a></span></dt>
<dt><span class="section"><a href="phoenix/composite.html#phoenix.composite.statement">Statement</a></span></dt>
<dt><span class="section"><a href="phoenix/composite.html#phoenix.composite.object">Object</a></span></dt>
<dt><span class="section"><a href="phoenix/composite.html#phoenix.composite.scope">Scope</a></span></dt>
<dt><span class="section"><a href="phoenix/composite.html#phoenix.composite.bind">Bind</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="phoenix/container.html">Container</a></span></dt>
<dt><span class="section"><a href="phoenix/algorithm.html">Algorithm</a></span></dt>
<dt><span class="section"><a href="phoenix/inside_phoenix.html">Inside Phoenix</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="phoenix/inside_phoenix.html#phoenix.inside_phoenix.actors_in_detail">Actors In Detail</a></span></dt>
<dt><span class="section"><a href="phoenix/inside_phoenix.html#phoenix.inside_phoenix.actor_example">Actor Example</a></span></dt>
<dt><span class="section"><a href="phoenix/inside_phoenix.html#phoenix.inside_phoenix.composites_in_detail">Composites
      In Detail</a></span></dt>
<dt><span class="section"><a href="phoenix/inside_phoenix.html#phoenix.inside_phoenix.composing">Composing</a></span></dt>
<dt><span class="section"><a href="phoenix/inside_phoenix.html#phoenix.inside_phoenix.extending">Extending</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="phoenix/wrap_up.html">Wrap Up</a></span></dt>
<dt><span class="section"><a href="phoenix/acknowledgement.html">Acknowledgement</a></span></dt>
<dt><span class="section"><a href="phoenix/references.html">References</a></span></dt>
</dl>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.preface"></a><a class="link" href="index.html#phoenix.preface" title="Preface">Preface</a>
</h2></div></div></div>
<div class="blockquote"><blockquote class="blockquote"><p>
        <span class="emphasis"><em>Functional programming is so called because a program consists
        entirely of functions. The main program itself is written as a function which
        receives the program's input as its argument and delivers the program's output
        as its result. Typically the main function is defined in terms of other functions,
        which in turn are defined in terms of still more functions until at the bottom
        level the functions are language primitives.</em></span>
      </p></blockquote></div>
<div class="blockquote"><blockquote class="blockquote"><p>
        <span class="bold"><strong>John Hughes</strong></span>-- <span class="emphasis"><em>Why Functional Programming
        Matters</em></span>
      </p></blockquote></div>
<p>
      <span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
    </p>
<a name="phoenix.preface.description"></a><h3>
<a name="id826250"></a>
      <a class="link" href="index.html#phoenix.preface.description">Description</a>
    </h3>
<p>
      Phoenix enables Functional Programming (FP) in C++. The design and implementation
      of Phoenix is highly influenced by <a href="http://www.cc.gatech.edu/~yannis/fc++/" target="_top">FC++</a>
      by Yannis Smaragdakis and Brian McNamara and the <a href="http://www.boost.org/libs/lambda/doc/index.html" target="_top">BLL</a>
      (Boost Lambda Library) by Jaakko Jaarvi and Gary Powell. Phoenix is a blend
      of FC++ and BLL using the implementation techniques used in the <a href="http://spirit.sourceforge.net" target="_top">Spirit</a>
      inline parser. Phoenix version 2, this version, will probably be the last release
      of the library. Phoenix v2 will be the basis of the Phoenix and <a href="http://www.boost.org/libs/lambda/doc/index.html" target="_top">BLL</a>
      merger.
    </p>
<p>
      Phoenix is a header only library. It is extremely modular by design. One can
      extract and use only a small subset of the full library, literally tearing
      the library into small pieces, without fear that the pieces won't work anymore.
      The library is organized in highly independent modules and layers.
    </p>
<a name="phoenix.preface.how_to_use_this_manual"></a><h3>
<a name="id826291"></a>
      <a class="link" href="index.html#phoenix.preface.how_to_use_this_manual">How to use this manual</a>
    </h3>
<p>
      The Phoenix library is organized in logical modules. This documentation provides
      a user's guide and reference for each module in the library. A simple and clear
      code example is worth a hundred lines of documentation; therefore, the user's
      guide is presented with abundant examples annotated and explained in step-wise
      manner. The user's guide is based on examples: lots of them.
    </p>
<p>
      As much as possible, forward information (i.e. citing a specific piece of information
      that has not yet been discussed) is avoided in the user's manual portion of
      each module. In many cases, though, it is unavoidable that advanced but related
      topics not be interspersed with the normal flow of discussion. To alleviate
      this problem, topics categorized as "advanced" may be skipped at
      first reading.
    </p>
<p>
      Some icons are used to mark certain topics indicative of their relevance. These
      icons precede some text to indicate:
    </p>
<div class="table">
<a name="id826311"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
<div class="table-contents"><table class="table" summary="Icons">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
              <p>
                Icon
              </p>
            </th>
<th>
              <p>
                Name
              </p>
            </th>
<th>
              <p>
                Meaning
              </p>
            </th>
</tr></thead>
<tbody>
<tr>
<td>
              <p>
                <span class="inlinemediaobject"><img src="images/note.png" alt="note"></span>
              </p>
            </td>
<td>
              <p>
                Note
              </p>
            </td>
<td>
              <p>
                Information provided is auxiliary but will give the reader a deeper
                insight into a specific topic. May be skipped.
              </p>
            </td>
</tr>
<tr>
<td>
              <p>
                <span class="inlinemediaobject"><img src="images/alert.png" alt="alert"></span>
              </p>
            </td>
<td>
              <p>
                Alert
              </p>
            </td>
<td>
              <p>
                Information provided is of utmost importance.
              </p>
            </td>
</tr>
<tr>
<td>
              <p>
                <span class="inlinemediaobject"><img src="images/tip.png" alt="tip"></span>
              </p>
            </td>
<td>
              <p>
                Tip
              </p>
            </td>
<td>
              <p>
                A potentially useful and helpful piece of information.
              </p>
            </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><p>
      This documentation is automatically generated by Spirit QuickBook documentation
      tool. QuickBook can be found in the <a href="http://spirit.sourceforge.net/repository/applications/show_contents.php" target="_top">Spirit
      Repository</a>.
    </p>
<a name="phoenix.preface.support"></a><h3>
<a name="id826488"></a>
      <a class="link" href="index.html#phoenix.preface.support">Support</a>
    </h3>
<p>
      Please direct all questions to Spirit's mailing list. You can subscribe to
      the <a href="https://lists.sourceforge.net/lists/listinfo/spirit-general" target="_top">Spirit
      Mailing List</a>. The mailing list has a searchable archive. A search link
      to this archive is provided in <a href="http://spirit.sourceforge.net" target="_top">Spirit</a>'s
      home page. You may also read and post messages to the mailing list through
      <a href="news://news.gmane.org/gmane.comp.spirit.general" target="_top">Spirit General
      NNTP news portal</a> (thanks to <a href="http://www.gmane.org" target="_top">Gmane</a>).
      The news group mirrors the mailing list. Here is a link to the archives: <a href="http://news.gmane.org/gmane.comp.parsers.spirit.general" target="_top">http://news.gmane.org/gmane.comp.parsers.spirit.general</a>.
    </p>
<a name="phoenix.preface._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
<a name="id826530"></a>
      <a class="link" href="index.html#phoenix.preface._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"><span class="bold"><strong><span class="emphasis"><em>...To my dear daughter, Phoenix</em></span></strong></span></a>
    </h3>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: October 29, 2010 at 16:47:12 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
<div class="spirit-nav"><a accesskey="n" href="phoenix/introduction.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
</body>
</html>
