[Haskell-cafe] Question on Coerce

Brent Walker brenthwalker at gmail.com
Wed Dec 2 16:32:22 UTC 2020


My question was on how to use coerce -- not whether this is worth doing or
not.  If we were discussing that, then I would say it's not 'just a leaf'
-- it's ALL the leaves of the tree -- and for a tree of depth n, there are
2^n of them so depending on what 'n' is, it could potentially be something
to worry about.



On Wed, Dec 2, 2020 at 6:00 PM Henning Thielemann <
lemming at henning-thielemann.de> wrote:

>
> On Wed, 2 Dec 2020, Brent Walker wrote:
>
> > In the following code, function fmap does not compile because variable
> > 'y' on line marked <***> has type (Expr a) where an (Expr b) is
> > expected.  The code can be fixed simply by returning (Val x) on the rhs
> > of the function but then we are allocating a new object for something we
> > could potentially reuse since (Val n) has the same runtime
> > representation in (Expr a) and (Expr b) (it has no dependence on the
> > type variable).
>
> Is it worth the trouble? It is only a leaf of the tree.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20201202/b03c3cd4/attachment.html>


More information about the Haskell-Cafe mailing list