<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	>
<channel>
	<title>Comments on: Scheme Parser Combinators</title>
	<atom:link href="http://alexicalmistake.com/2008/06/scheme-parser-combinators/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexicalmistake.com/2008/06/scheme-parser-combinators/</link>
	<description>Languages; Past, Present and Future</description>
	<pubDate>Sat, 04 Jul 2009 19:50:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Lorenz Pretterhofer</title>
		<link>http://alexicalmistake.com/2008/06/scheme-parser-combinators/comment-page-1/#comment-18</link>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
		<pubDate>Wed, 11 Jun 2008 23:25:29 +0000</pubDate>
		<guid isPermaLink="false">http://krysole.net/2008/06/10/scheme-parser-combinators/#comment-18</guid>
		<description>Since most parsing operations are not performed in parallel, I believe the side effects shouldn't be too much of a problem (this is more of an eager evaluation and parser combinators experiment anyway).

The way I expect it to work in practice is akin to a calling convention. All of these methods ruthlessly cause side-effects (on the stream ONLY). This means that any parser that wishes to have the stream state moved back must save the old stream state and forward a copy of it.

I haven't worked out how many side effects will be allowed when user state is added into the mix, but for now there are more important problems to solve first.

It might be somewhat amusing that a previous incarnation I built did actually use CPS, but I found the notation so cumbersome when implementing the parsers one's self (which I believe is the real power of this approach to parser building), that I dropped it in favor of properly fast algorithms like predictive parsing (which I'll get to in a later article).

edit: Actually... I'd be interested to find out how easy you found working with the CPS version for that matter...

-- Lorenz</description>
		<content:encoded><![CDATA[<p>Since most parsing operations are not performed in parallel, I believe the side effects shouldn&#8217;t be too much of a problem (this is more of an eager evaluation and parser combinators experiment anyway).</p>
<p>The way I expect it to work in practice is akin to a calling convention. All of these methods ruthlessly cause side-effects (on the stream ONLY). This means that any parser that wishes to have the stream state moved back must save the old stream state and forward a copy of it.</p>
<p>I haven&#8217;t worked out how many side effects will be allowed when user state is added into the mix, but for now there are more important problems to solve first.</p>
<p>It might be somewhat amusing that a previous incarnation I built did actually use CPS, but I found the notation so cumbersome when implementing the parsers one&#8217;s self (which I believe is the real power of this approach to parser building), that I dropped it in favor of properly fast algorithms like predictive parsing (which I&#8217;ll get to in a later article).</p>
<p>edit: Actually&#8230; I&#8217;d be interested to find out how easy you found working with the CPS version for that matter&#8230;</p>
<p>&#8211; Lorenz</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: web design company</title>
		<link>http://alexicalmistake.com/2008/06/scheme-parser-combinators/comment-page-1/#comment-17</link>
		<dc:creator>web design company</dc:creator>
		<pubDate>Wed, 11 Jun 2008 15:24:49 +0000</pubDate>
		<guid isPermaLink="false">http://krysole.net/2008/06/10/scheme-parser-combinators/#comment-17</guid>
		<description>&#62; (read-char state) Is this function side-effecting? If so, I don't see how you implement backtracking. I implemented parser combinators in Scheme a while back which you can read about [here](http://www.reddit.com/info/6bls2/comments/). I've since improved the code a lot and re-wrote to use CPS instead of multiple value return (speeding up 2-3x and simplifying the code) but I've yet to write about it.</description>
		<content:encoded><![CDATA[<p>&gt; (read-char state) Is this function side-effecting? If so, I don&#8217;t see how you implement backtracking. I implemented parser combinators in Scheme a while back which you can read about [here](http://www.reddit.com/info/6bls2/comments/). I&#8217;ve since improved the code a lot and re-wrote to use CPS instead of multiple value return (speeding up 2-3x and simplifying the code) but I&#8217;ve yet to write about it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
