On Tue, Oct 23, 2012 at 3:26 AM, Eugene Kirpichov <span dir="ltr">&lt;<a href="mailto:ekirpichov@gmail.com" target="_blank">ekirpichov@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":1mb">I&#39;m thinking that a CPS-style parser type could allow returning an<br>
unboxed value as a result of the compiler inlining and fusing together<br>
the parsing code and the code that consumes the parsed value.<br>
<br>
Are there any libraries that work like this?<div class="yj6qo ajU"><div id=":2dw" class="ajR" tabindex="0"></div></div></div></blockquote></div><br><div>Both cereal (for binary) and attoparsec (text) are written in a CPS style that can support this in principle. For parsers of even modest complexity, GHC won&#39;t necessarily succeed at unboxing values, though; you have to inspect the Core to see if what&#39;s going on matches what you&#39;re hoping for.</div>