<div dir="ltr">I had a 5 second look at the PSQueue implementation and here&#39;s what I got so far:<div><br></div> * fromList should use foldl&#39;.<br> * LTree should be spine strict (i.e. strict in the (LTree k p) fields).<br>

 * Winner should be strict in the (LTree k p) field and probably in all other fields as well.<div><br></div><div style>This is a nice example showing that strict fields is the right default. If fields need to be lazy there should ideally be a comment explaining why that is needed (e.g. in the case of finger trees and lists).</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 29, 2013 at 9:53 AM, Niklas Hambüchen <span dir="ltr">&lt;<a href="mailto:mail@nh2.me" target="_blank">mail@nh2.me</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hey Scott,<br>
<br>
I quickly tried your suggestion, plugging in foldr&#39; from Data.Foldable<br>
and sprinkling a few seqs in some places, but it doesn&#39;t help the stack<br>
overflow.<br>
<div class="im HOEnZb"><br>
On Fri 29 Mar 2013 16:23:55 GMT, Scott Dillard wrote:<br>
&gt; I do not know why it overflows. It&#39;s been a while, but isn&#39;t the<br>
&gt; answer usually &quot;too much laziness&quot;? Maybe try changing the foldr in<br>
&gt; fromList to foldr&#39;? I would try it out quickly but do not have ghc<br>
&gt; installed on any computers here.<br>
&gt;<br>
&gt; I am happy start a repo for this library, but there is not much<br>
&gt; history to import so anyone else may do it. I&#39;m not sure how hackage<br>
&gt; upload permissions work... I guess I just change the maintainer field<br>
&gt; in the .cabal file from myself to someone else...? Any volunteers?<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Mar 28, 2013 at 11:16 PM, Kazu Yamamoto &lt;<a href="mailto:kazu@iij.ad.jp">kazu@iij.ad.jp</a><br>
</div><div class="im HOEnZb">&gt; &lt;mailto:<a href="mailto:kazu@iij.ad.jp">kazu@iij.ad.jp</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Hi Niklas,<br>
&gt;<br>
&gt;     &gt; * PSQueue throws a stack space overflow if you try to put in 100000<br>
&gt;     &gt; * Ints<br>
&gt;<br>
&gt;     A slightly different implementation is used in GHC:<br>
&gt;<br>
&gt;<br>
&gt;     <a href="https://github.com/ghc/packages-base/blob/master/GHC/Event/PSQ.hs" target="_blank">https://github.com/ghc/packages-base/blob/master/GHC/Event/PSQ.hs</a><br>
&gt;<br>
&gt;     Could you test it? If this code also has the same problem, I need to<br>
&gt;     fix it.<br>
&gt;<br>
&gt;     --Kazu<br>
&gt;<br>
&gt;<br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Haskell mailing list<br>
<a href="mailto:Haskell@haskell.org">Haskell@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell" target="_blank">http://www.haskell.org/mailman/listinfo/haskell</a><br>
</div></div></blockquote></div><br></div>