[prev in list] [next in list] [prev in thread] [next in thread] 

List:       haskell-cafe
Subject:    Re: [Haskell-cafe] Best practices for linting wrt performance
From:       Oliver Charles <ollie () ocharles ! org ! uk>
Date:       2017-03-19 22:46:58
Message-ID: CAGRp5RnpHSCCv+dAs5hJMp6xSmhaeaqXkjB5EAtDkb=r-imwEw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Ah, I stand corrected. Thanks!

On Sun, Mar 19, 2017 at 10:46 PM Joachim Breitner <mail@joachim-breitner.de>
wrote:

> Hi,
>
> no. A case in Haskell does not necessary force evaluation (in contrast to
> a case in Core).
>
> Greetings,
> Joachim
>
> Am 19. März 2017 16:24:18 EDT schrieb Oliver Charles <
> ollie@ocharles.org.uk>:
> >Is that "redundant case" actually acting like seq?
> >
> >On Sun, Mar 19, 2017 at 7:39 PM Adam Bergmark <adam@bergmark.nl> wrote:
> >
> >> Thanks Joachim! I actually found a note about that in the aeson
> >sources so
> >> I'm using
> >>
> >> ignore "Avoid lambda"
> >> ignore "Eta reduce"
> >>
> >> Cheers,
> >> Adam
> >>
> >>
> >> On Sun, 19 Mar 2017 at 17:34 Joachim Breitner
> ><mail@joachim-breitner.de>
> >> wrote:
> >>
> >> Hi,
> >>
> >> Am Sonntag, den 19.03.2017, 16:19 +0000 schrieb Adam Bergmark:
> >> > The best way to find an answer to this for aeson is of course to
> >run
> >> > the benchmarks, but are there any rules-of-thumb that you take into
> >> > account when linting?
> >>
> >> eta-reduction can increase sharing but can also increase the cost of
> >a
> >> function call, so that's something to be careful about.
> >>
> >> Greetings,
> >> Joachim
> >> --
> >> Joachim Breitner
> >>   mail@joachim-breitner.de
> >>   http://www.joachim-breitner.de/
> >> _______________________________________________
> >> Haskell-Cafe mailing list
> >> To (un)subscribe, modify options or view archives go to:
> >> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> >> Only members subscribed via the mailman list are allowed to post.
> >>
> >> _______________________________________________
> >> Haskell-Cafe mailing list
> >> To (un)subscribe, modify options or view archives go to:
> >> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> >> Only members subscribed via the mailman list are allowed to post.
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

[Attachment #5 (text/html)]

<div dir="ltr">Ah, I stand corrected. Thanks!</div><br><div class="gmail_quote"><div \
dir="ltr">On Sun, Mar 19, 2017 at 10:46 PM Joachim Breitner &lt;<a \
href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br class="gmail_msg"> <br \
class="gmail_msg"> no. A case in Haskell does not necessary force evaluation (in \
contrast to a case in Core).<br class="gmail_msg"> <br class="gmail_msg">
Greetings,<br class="gmail_msg">
Joachim<br class="gmail_msg">
<br class="gmail_msg">
Am 19. März 2017 16:24:18 EDT schrieb Oliver Charles &lt;<a \
href="mailto:ollie@ocharles.org.uk" class="gmail_msg" \
target="_blank">ollie@ocharles.org.uk</a>&gt;:<br class="gmail_msg"> &gt;Is that \
&quot;redundant case&quot; actually acting like seq?<br class="gmail_msg"> &gt;<br \
class="gmail_msg"> &gt;On Sun, Mar 19, 2017 at 7:39 PM Adam Bergmark &lt;<a \
href="mailto:adam@bergmark.nl" class="gmail_msg" \
target="_blank">adam@bergmark.nl</a>&gt; wrote:<br class="gmail_msg"> &gt;<br \
class="gmail_msg"> &gt;&gt; Thanks Joachim! I actually found a note about that in the \
aeson<br class="gmail_msg"> &gt;sources so<br class="gmail_msg">
&gt;&gt; I&#39;m using<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; ignore &quot;Avoid lambda&quot;<br class="gmail_msg">
&gt;&gt; ignore &quot;Eta reduce&quot;<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; Cheers,<br class="gmail_msg">
&gt;&gt; Adam<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; On Sun, 19 Mar 2017 at 17:34 Joachim Breitner<br class="gmail_msg">
&gt;&lt;<a href="mailto:mail@joachim-breitner.de" class="gmail_msg" \
target="_blank">mail@joachim-breitner.de</a>&gt;<br class="gmail_msg"> &gt;&gt; \
wrote:<br class="gmail_msg"> &gt;&gt;<br class="gmail_msg">
&gt;&gt; Hi,<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; Am Sonntag, den 19.03.2017, 16:19 +0000 schrieb Adam Bergmark:<br \
class="gmail_msg"> &gt;&gt; &gt; The best way to find an answer to this for aeson is \
of course to<br class="gmail_msg"> &gt;run<br class="gmail_msg">
&gt;&gt; &gt; the benchmarks, but are there any rules-of-thumb that you take into<br \
class="gmail_msg"> &gt;&gt; &gt; account when linting?<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; eta-reduction can increase sharing but can also increase the cost of<br \
class="gmail_msg"> &gt;a<br class="gmail_msg">
&gt;&gt; function call, so that's something to be careful about.<br \
class="gmail_msg"> &gt;&gt;<br class="gmail_msg">
&gt;&gt; Greetings,<br class="gmail_msg">
&gt;&gt; Joachim<br class="gmail_msg">
&gt;&gt; --<br class="gmail_msg">
&gt;&gt; Joachim Breitner<br class="gmail_msg">
&gt;&gt;     <a href="mailto:mail@joachim-breitner.de" class="gmail_msg" \
target="_blank">mail@joachim-breitner.de</a><br class="gmail_msg"> &gt;&gt;     <a \
href="http://www.joachim-breitner.de/" rel="noreferrer" class="gmail_msg" \
target="_blank">http://www.joachim-breitner.de/</a><br class="gmail_msg"> &gt;&gt; \
_______________________________________________<br class="gmail_msg"> &gt;&gt; \
Haskell-Cafe mailing list<br class="gmail_msg"> &gt;&gt; To (un)subscribe, modify \
options or view archives go to:<br class="gmail_msg"> &gt;&gt; <a \
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" \
class="gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br \
class="gmail_msg"> &gt;&gt; Only members subscribed via the mailman list are allowed \
to post.<br class="gmail_msg"> &gt;&gt;<br class="gmail_msg">
&gt;&gt; _______________________________________________<br class="gmail_msg">
&gt;&gt; Haskell-Cafe mailing list<br class="gmail_msg">
&gt;&gt; To (un)subscribe, modify options or view archives go to:<br \
class="gmail_msg"> &gt;&gt; <a \
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" \
class="gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br \
class="gmail_msg"> &gt;&gt; Only members subscribed via the mailman list are allowed \
to post.<br class="gmail_msg"> _______________________________________________<br \
class="gmail_msg"> Haskell-Cafe mailing list<br class="gmail_msg">
To (un)subscribe, modify options or view archives go to:<br class="gmail_msg">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" \
rel="noreferrer" class="gmail_msg" \
target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br \
class="gmail_msg"> Only members subscribed via the mailman list are allowed to \
post.</blockquote></div>


[Attachment #6 (text/plain)]

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic