<div dir="auto">This seems unintended. Maybe others are wise to the contrary? Perhaps a patch should be made.<div dir="auto"><br></div><div dir="auto">Thanks</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 13, 2020, 1:57 PM Christiaan Baaij <<a href="mailto:christiaan.baaij@gmail.com">christiaan.baaij@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hello list,</div><div><br></div><div>Is the following behavior intended? or an oversight?</div><div><br></div><div>Prelude Control.DeepSeq> tail ((undefined :: ()) `seq` 1 : [])<br>*** Exception: Prelude.undefined<br>CallStack (from HasCallStack):<br>  error, called at libraries/base/GHC/Err.hs:80:14 in base:GHC.Err<br>  undefined, called at <interactive>:5:8 in interactive:Ghci2<br>Prelude Control.DeepSeq> tail ((undefined :: ()) `deepseq` 1 : [])<br>[]</div><div><br></div><div>If you're wondering what's happening, there is a (builtin) fixity declaration for 'seq':</div><div>infixr `seq` 0</div><div><br></div><div>But there isn't one for `deepseq`.</div><div><br></div><div>So</div><div><br></div><div>undefined `seq` 1 : []</div><div><br></div><div>is parsed as<br></div><div><br></div><div>undefined `seq` (1 : [])</div><div><br></div><div>while</div><div><br></div><div>undefined `deepseq` 1 : []</div><div><br></div><div>is parsed as</div><div><br></div><div>(undefined `deepseq` 1) : []</div><div><br></div><div>In a real-life use-case, changing `seq` to `deepseq` actually resulted in a (very unanticipated) space-leak for me. So again, is the lack of fixity declaration for deepseq intentional? or an accidental omission?</div><div><br></div><div>Best regards,</div><div><br></div><div>Christiaan<br></div><div><br></div><div><br></div></div>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank" rel="noreferrer">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>