Only up to a point. Recursive uses — such as show, which delegates to other Show instances for record fields, etc. — are problematic.

On Fri, Jan 11, 2019 at 1:04 PM Johannes Waldmann <johannes.waldmann@htwk-leipzig.de> wrote:

At run-time, only the branch (Left/Right) is "picked" at run-time.
For each branch, the "show" instance is determined at compile-time.

The problem is that such instances are represented by dictionaries,
and this adds extra cost (extra arguments) to function calls -
but only in those cases where these dictionaries
are not inlined (that is, removed) statically.

But I am thinking that GHC has become very good at inlining.

- J.W.

_______________________________________________
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.


--
brandon s allbery kf8nh
allbery.b@gmail.com