[Haskell-cafe] Pointer equality for nullary constructors

Carter Schonwald carter.schonwald at gmail.com
Thu Feb 22 19:54:45 UTC 2018


David:
i'm inclined to agree with Doug here.

Phrased differently: what is the example change in overheads in micro or
milliseconds?
what is an example tiny program where those overheads are a significant
part of  program overhead?

why woulnd't they use something like
https://www.microsoft.com/en-us/research/wp-content/uploads/2007/10/compilingwithcontinuationscontinued.pdf
aka the so called "double barrelled cps" transform?

On Wed, Feb 21, 2018 at 11:21 PM, David Feuer <david.feuer at gmail.com> wrote:

> Because sometimes the sanctioned way is inefficient. throwIO always
> wraps its exception argument in a SomeException constructor before
> calling raiseIO# on the result. That extra baggage is likely enough to
> make the implementation I'm considering too slow to bother with, so I
> care right now in 2018. I'd very much prefer to get an
> officially-approved way to do what I want, but barring that I'll take
> one that works.
>
> On Wed, Feb 21, 2018 at 9:33 AM, Doug McIlroy <doug at cs.dartmouth.edu>
> wrote:
> >
> >> > Can I use reallyUnsafePtrEquality# reliably to identify whether a
> value is
> >> a nullary constructor of a particular type?
> >
> > Can this "optimization" possibly save enough time to justify
> > nonstandard trickery?
> > This kind of obscure brittle coding may have been OK 50 years
> > ago. But why do it now?
> >
> > Doug
> > _______________________________________________
> > 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180222/86f0cb1f/attachment.html>


More information about the Haskell-Cafe mailing list