<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Boost.Spirit &#187; BoostCon 2010</title>
	<atom:link href="http://boost-spirit.com/home/category/boostcon-2010/feed/" rel="self" type="application/rss+xml" />
	<link>http://boost-spirit.com/home</link>
	<description>Home of The Boost.Spirit Library</description>
	<lastBuildDate>Sun, 04 Dec 2011 22:11:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Using Boost.Spirit V2: Qi and Karma</title>
		<link>http://boost-spirit.com/home/2010/12/03/using-boost-spirit-v2-qi-and-karma/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-boost-spirit-v2-qi-and-karma</link>
		<comments>http://boost-spirit.com/home/2010/12/03/using-boost-spirit-v2-qi-and-karma/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 04:04:46 +0000</pubDate>
		<dc:creator>Joel de Guzman</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[BoostCon 2010]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Qi]]></category>

		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1263</guid>
		<description><![CDATA[These are links to the slides and video of Michael Caisse&#8217;s BoostCon 2010 talk: slides: &#60;http://www.objectmodelingdesigns.com/boostcon10/&#62; video: &#60;http://blip.tv/file/4143337 &#62; Enjoy! Machinery, sensors, equipment, client/server communications, even file formats&#8230; Parsing and producing communication streams is everywhere you look. Often these tasks are simple or small enough to tempt ad-hoc solutions. The Spirit 2.1 library provides a [...]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=3.5" /></div><div>Rating: 3.5/<strong>5</strong> (4 votes cast)</div><br />]]></description>
			<content:encoded><![CDATA[<p>These are links to the slides and video of Michael Caisse&#8217;s BoostCon 2010 talk:</p>
<p>slides: <a href="http://www.objectmodelingdesigns.com/boostcon10/">&lt;http://www.objectmodelingdesigns.com/boostcon10/&gt;</a><br />
video: <a href="http://blip.tv/file/4143337">&lt;http://blip.tv/file/4143337 &gt;</a></p>
<p>Enjoy!</p>
<blockquote><p>Machinery, sensors, equipment, client/server communications, even file formats&#8230; Parsing and producing communication streams is everywhere you look. Often these tasks are simple or small enough to tempt ad-hoc solutions. The Spirit 2.1 library provides a model that is simple enough to tackle those &#8220;quick hacks&#8221; and easily scales for full-featured AST generation.</p>
<p>This session will explore real-life experiences with the parser and generator (Qi/Karma) portions of the Spirit library. As we look at various small and medium-sized parsers/generators employed in various products we will establish some &#8220;rules-of-thumb&#8221; and guidelines for tackling the parser/generator domain with Qi/Karma. The session will end with the implementation of a usable XML parser and a simplified XPath-like node extractor.</p>
<p>The session will include some lecture and a lot of tutorial. Attendees will walk away with the knowledge and tools to begin parsing and generating with Spirit Qi/Karma.</p>
<p>—Michael Caisse</p></blockquote>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=3.5" /></div><div>Rating: 3.5/<strong>5</strong> (4 votes cast)</div><br />]]></content:encoded>
			<wfw:commentRss>http://boost-spirit.com/home/2010/12/03/using-boost-spirit-v2-qi-and-karma/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Joel de Guzman, Hartmut Kaiser: Spirit: History and Evolution</title>
		<link>http://boost-spirit.com/home/2010/10/14/joel-de-guzman-hartmut-kaiser-spirit-history-and-evolution/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joel-de-guzman-hartmut-kaiser-spirit-history-and-evolution</link>
		<comments>http://boost-spirit.com/home/2010/10/14/joel-de-guzman-hartmut-kaiser-spirit-history-and-evolution/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 18:03:35 +0000</pubDate>
		<dc:creator>Joel de Guzman</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[BoostCon 2010]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Spirit]]></category>

		<guid isPermaLink="false">http://boost-spirit.com/home/?p=1149</guid>
		<description><![CDATA[Care about how Spirit got started? Here&#8217;s a link to our BoostCon 2010 presentation: http://blip.tv/file/4245756 This year, we celebrate Spirit&#8217;s 10th anniversary from its early beginnings as an offshoot from a much larger GUI library in the 90s and debuted into Boost in May 2001 in the typical &#8220;Is there interest in this library?&#8221; fashion [...]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br />]]></description>
			<content:encoded><![CDATA[<p>Care about how Spirit got started? Here&#8217;s a link to our BoostCon 2010 presentation:</p>
<p><a href="http://blip.tv/file/4245756">http://blip.tv/file/4245756</a></p>
<blockquote><p>This year, we celebrate Spirit&#8217;s 10th anniversary from its early beginnings as an offshoot from a much larger GUI library in the 90s and debuted into Boost in May 2001 in the typical &#8220;Is there interest in this library?&#8221; fashion like all would be Boost libraries. From a humble 7 header file library, Spirit has grown to be one of the most sophisticated Boost libraries and along the way became the incubator of other Boost libraries such as Boost.Fusion, Boost.Phoenix, and Boost.Wave and played a significant role for Boost.Proto getting mature.<br />
We would like to present Spirit (and the libraries it inspired) in a historical perspective. The presentation will aim to provide a lighter, more intimate perspective into the development of at least 4 libraries with almost a decade&#8217;s worth of experience being Boost authors and bonafide crazy template metaprogrammers who abuse operators like Mad Scientists. Of course, we can&#8217;t help it if we show off some C++ tricks here and there, but we&#8217;ll try to keep it as light as we can.</p></blockquote>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br />]]></content:encoded>
			<wfw:commentRss>http://boost-spirit.com/home/2010/10/14/joel-de-guzman-hartmut-kaiser-spirit-history-and-evolution/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Spirit: History and Evolution</title>
		<link>http://boost-spirit.com/home/2010/05/16/spirit-history-and-evolution/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=spirit-history-and-evolution</link>
		<comments>http://boost-spirit.com/home/2010/05/16/spirit-history-and-evolution/#comments</comments>
		<pubDate>Mon, 17 May 2010 00:06:20 +0000</pubDate>
		<dc:creator>Hartmut Kaiser</dc:creator>
				<category><![CDATA[BoostCon 2010]]></category>
		<category><![CDATA[Spirit]]></category>

		<guid isPermaLink="false">http://boost-spirit.com/home/2010/05/16/spirit-history-and-evolution/</guid>
		<description><![CDATA[Yes, we were tempted to call our second BoostCon talk &#8216;Design and Evolution&#8217;, but we decided to to be modest. We wanted to give a very brief overview of the way Spirit has evolved over the last decade. While talking about a period of time this long in 90 minutes has to be very brief [...]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description>
			<content:encoded><![CDATA[<p>Yes, we were tempted to call our second BoostCon talk &#8216;Design and Evolution&#8217;, but we decided to to be modest. We wanted to give a very brief overview of the way Spirit has evolved over the last decade. While talking about a period of time this long in 90 minutes has to be very brief we nevertheless tried to highlight the main stepping stones and milestones in Spirits development. For me, developing the slides for &#8216;Spirit: History and Evolution&#8217; was real fun: looking through ancient email archives, re-reading key private conversations, and realizing that most of the ideas implemented today have been already in place from the early years. All of this was exciting. To some extent, this even turned out to be educational.</p>
<p>I have to admit I was not sure how people would react to this kind of talk. It was not one of the usual, sophisticated, well thought through, and cutting edge presentations normally seen at BoostCon. This talk was merely a conversation with the attendees about Boost&#8217;s history guided by Spirits evolution. In the end I was relieved to see people reacted positively. Some came to me afterwards saying they enjoyed listening. For all of you not being at BoostCon, here are the slides: <a href="http://boost-spirit.com/home/wp-content/uploads/2010/05/Spirit-History-and-Evolution.pdf">Spirit: History and Evolution</a>.</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></content:encoded>
			<wfw:commentRss>http://boost-spirit.com/home/2010/05/16/spirit-history-and-evolution/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using Spirit V2: Qi and Karma</title>
		<link>http://boost-spirit.com/home/2010/05/13/using-spirit-v2-qi-and-karma/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-spirit-v2-qi-and-karma</link>
		<comments>http://boost-spirit.com/home/2010/05/13/using-spirit-v2-qi-and-karma/#comments</comments>
		<pubDate>Thu, 13 May 2010 14:47:20 +0000</pubDate>
		<dc:creator>Hartmut Kaiser</dc:creator>
				<category><![CDATA[BoostCon 2010]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Qi]]></category>

		<guid isPermaLink="false">http://boost-spirit.com/home/2010/05/13/using-spirit-v2-qi-and-karma/</guid>
		<description><![CDATA[Michael Caisse (of Object Modeling Designs), some of you will know him from the Freenode #boost IRC channel, presented his talk about Spirit at BoostCon 2010 last Tuesday. I personally very much like listening to his knowledgeable and entertaining presentations. Apparently many people do so as well, the room he presented in was overfull. People [...]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (6 votes cast)</div><br />]]></description>
			<content:encoded><![CDATA[<p><a href="http://boost-spirit.com/home/wp-content/uploads/2010/05/DSC03002.jpg"><img class="size-thumbnail wp-image-1077 alignleft" title="DSC03002" src="http://boost-spirit.com/home/wp-content/uploads/2010/05/DSC03002-e1273837407971-150x150.jpg" alt="" width="95" height="95" /></a>Michael Caisse (of <a href="http://www.objectmodelingdesigns.com/">Object Modeling Designs</a>), some of you will know him from the Freenode #boost IRC channel, presented his talk about Spirit at BoostCon 2010 last Tuesday. I personally very much like listening to his knowledgeable and entertaining presentations. Apparently many people do so as well, the room he presented in was overfull. People even sat on the floor as all seats were taken. So in case you are interested &#8211; here is a link to his slides: <a href="http://boost-spirit.com/home/wp-content/uploads/2010/05/spirit_presentation.pdf">Using Spirit V2: Qi and Karma</a>.</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (6 votes cast)</div><br />]]></content:encoded>
			<wfw:commentRss>http://boost-spirit.com/home/2010/05/13/using-spirit-v2-qi-and-karma/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A Framework for RAD Spirit</title>
		<link>http://boost-spirit.com/home/2010/05/11/a-framework-for-rad-spirit/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-framework-for-rad-spirit</link>
		<comments>http://boost-spirit.com/home/2010/05/11/a-framework-for-rad-spirit/#comments</comments>
		<pubDate>Tue, 11 May 2010 14:44:48 +0000</pubDate>
		<dc:creator>Hartmut Kaiser</dc:creator>
				<category><![CDATA[BoostCon 2010]]></category>
		<category><![CDATA[Build a Compiler]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Qi]]></category>

		<guid isPermaLink="false">http://boost-spirit.com/home/2010/05/11/a-framework-for-rad-spirit/</guid>
		<description><![CDATA[Finally, yesterday was the day! Joel and I presented the current status of our work related to the &#8216;Writing a Compiler&#8217; effort. We submitted this talk to BoostCon 2010 and got accepted back in January. Having to present at BoostCon just put a nice pressure onto us to get moving and to start working on [...]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=4.0" /></div><div>Rating: 4.0/<strong>5</strong> (3 votes cast)</div><br />]]></description>
			<content:encoded><![CDATA[<p>Finally, yesterday was the day! Joel and I presented the current status of our work related to the &#8216;Writing a Compiler&#8217; effort. We submitted this talk to BoostCon 2010 and got accepted back in January. Having to present at BoostCon just put a nice pressure onto us to get moving and to start working on the project. I don&#8217;t want to go into any detail about the presentation itself. This will be done in future articles to be published after BoostCon. I just wanted to provide a link to the slides for those interested in having a look. Ok, here we go: <a href="http://boost-spirit.com/home/wp-content/uploads/2010/05/A_Framework_for_RAD_Spirit.pdf">A Framework for RAD Spirit</a>, grab it while it&#8217;s hot!</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=4.0" /></div><div>Rating: 4.0/<strong>5</strong> (3 votes cast)</div><br />]]></content:encoded>
			<wfw:commentRss>http://boost-spirit.com/home/2010/05/11/a-framework-for-rad-spirit/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Next Week is BoostCon Week!</title>
		<link>http://boost-spirit.com/home/2010/05/08/next-week-is-boostcon-week/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=next-week-is-boostcon-week</link>
		<comments>http://boost-spirit.com/home/2010/05/08/next-week-is-boostcon-week/#comments</comments>
		<pubDate>Sun, 09 May 2010 01:11:40 +0000</pubDate>
		<dc:creator>Hartmut Kaiser</dc:creator>
				<category><![CDATA[BoostCon 2010]]></category>
		<category><![CDATA[Build a Compiler]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Qi]]></category>

		<guid isPermaLink="false">http://boost-spirit.com/home/2010/05/08/next-week-is-boostcon-week/</guid>
		<description><![CDATA[Finally, the long wait and the preparations for BoostCon 2010 are over. The last weeks were dominated by writing the code and creating the slides for our talk &#8216;A Framework for RAD Spirit&#8216;. Regular readers of this site probably have already wondered why we have been inactive here since mid-March. Well, that is mainly because [...]<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br />]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Finally, the long wait and the preparations for <a href="http://www.boostcon.com/">BoostCon 2010</a> are over. The last weeks were dominated by writing the code and creating the slides for our talk &#8216;<a href="http://www.boostcon.com/program/sessions#de-guzman-kaiser-rad-spirit">A Framework for RAD Spirit</a>&#8216;. Regular readers of this site probably have already wondered why we have been inactive here since mid-March. Well, that is mainly because of preparing for BoostCon turned out to be too time consuming to leave any room for writing posts and articles.</p>
<p><span id="more-1064"></span></p>
<p>Our  talk (Joel&#8217;s and mine) is about the current status and the preliminary results we achieved while working on the compiler project <a href="http://boost-spirit.com/home/category/build-a-compiler/">announced earlier</a>. We settled for applying a Scheme based framework to create a rapid development environment for Spirit parsers. This is a really exciting project which will have long term impact not only on Spirit.</p>
<p>Here is a sneak preview of what we will present at BoostCon.</p>
<p style="text-align: center;"><a href="http://boost-spirit.com/home/wp-content/uploads/2010/05/AFrameworkforRADSpirit.png"><img class="size-full wp-image-1069 aligncenter" title="AFrameworkforRADSpirit" src="http://boost-spirit.com/home/wp-content/uploads/2010/05/AFrameworkforRADSpirit.png" alt="" width="610" height="355" /></a></p>
<p style="text-align: left;">As you can see, we created a kernel consisting out of a cool data structure called U-tree (essentially a discriminated union), capable of storing any  S-expression. On top of this Joel developed a Scheme compiler/interpreter which first constructs a dynamic expression tree from the S-expression (the compiler) conforming to the usual Scheme execution rules. Executing this expression tree yields the result encoded in the Scheme code which has been stored in the S-expression in the first place (the interpreter).</p>
<p>As a byproduct of this we got the beginnings of a new library – the dynamic counterpart of <a href="http://www.boost.org/doc/libs/1_43_0/libs/spirit/phoenix/doc/html/index.html">Boost.Phoenix</a>. It is aimed at dynamic execution trees based on functional programming paradigms. So the Scheme compiler creates a functional data structure which is indistinguishable from an equivalent data structure created from a C++ expression built on top of this new library.</p>
<p>In order to fill the S-expression from Scheme code we developed a Spirit based parser. OTOH, the Scheme generator (written using Karma &#8211; what else?) takes any S-expression and converts it back to the equivalent Scheme code.</p>
<p>The (currently) top most layer of the framework consists of a Parser for Qi expressions which creates an S-expression and a corresponding generator converting any S-expression holding a Qi parser back into the equivalent Qi (C++) expression. Naturally, the Qi parser is written using Qi and for the Qi Generator we utilized Karma. The Qi compiler mentioned in the figure takes such an S-expression and produces an execution tree, which – when actually run &#8211; parses any input conforming to the initial Qi grammar.</p>
<p>I don&#8217;t want to spoil the fun and tell too much at this point, but overall this is not only a nice example of how to write more complex Spirit applications, but it gives you a rapid development platform allowing to quickly test Qi parsers. Moreover, as the whole thing is based on a Scheme kernel, you can write your own Scheme code for additional transformations of the handled S-expressions. In the context of the Qi based S-expressions mentioned above this is equivalent to dynamic parser transformations or arbitrary parser analysis modules. That is pretty powerful stuff!</p>
<p>Joel and I plan to write about what we developed and what we learnt while developing this and we hope to get some of you interested to chime in. There is still a lot to do, we are by no means done with this framework. And, as I mentioned already, I believe this will have an impact far beyond its initial target audience.</p>
<p>But BoostCon is not only about Spirit (even if there will be at least 3 talks about it). We will have a full week packed with sessions presented by well known Boost people speaking about a whole set of interesting topics. Just have a look at the <a href="http://www.boostcon.com/program#schedule">BoostCon schedule</a> to convince yourself. Over the next week I will try to document some of my impressions live from the Physics Center in Aspen (where BoostCon takes place). So stay tuned!</p>
<br /><div><img src="http://boost-spirit.com/home/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br />]]></content:encoded>
			<wfw:commentRss>http://boost-spirit.com/home/2010/05/08/next-week-is-boostcon-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

