Strictness/demand info for a Name

Alejandro Serrano Mena trupill at gmail.com
Thu Jan 13 15:43:50 UTC 2022


Thanks for the pointers! :)

Knowing this, let me maybe rephrase my question: is it possible to get
demand information of identifiers *without* running the analysis itself?

Alejandro

El 13 ene 2022 15:45:29, Sebastian Graf <sgraf1337 at gmail.com> escribió:

> Yes, Matt is right.
>
> `dmdSigInfo` describes the how a function Id uses its arguments and free
> variables, whereas
> `demandInfo` describes how a (local, mostly) Id is used.
>
> Note that if you wanted to go beyond type-checking, you could probably
> run the analysis on the desugaring of the current module quite easily.
> But the results would be misleading, as prior optimisations (that you
> probably don't want to run) may arrange the program in a way that demand
> analysis has an easier time.
>
> ------ Originalnachricht ------
> Von: "Matthew Pickering" <matthewtpickering at gmail.com>
> An: "Alejandro Serrano Mena" <trupill at gmail.com>
> Cc: "GHC developers" <ghc-devs at haskell.org>
> Gesendet: 13.01.2022 15:38:29
> Betreff: Re: Strictness/demand info for a Name
>
> You look at `dmdSigInfo` in `IdInfo`.
>
>
> Matt
>
>
> On Thu, Jan 13, 2022 at 2:20 PM Alejandro Serrano Mena
>
> <trupill at gmail.com> wrote:
>
> >
>
> >  Dear all,
>
> >
>
> >  I’m trying to bring the information about demand and strictness to the
> Haskell Language Server, but I cannot find a way to do so. I was wondering
> whether you could help me :)
>
> >
>
> >  Here’s my understanding; please correct me if I’m wrong:
>
> >
>
> >  The analysis runs on Core, so getting this information for the current
> file would require to run the compiler further than type checking, which is
> quite expensive,
>
> >  However, this analysis should somehow use known information about
> imported functions, which should be readily available somewhere,
>
> >  If the above is true, what is the simplest way to get the information
> for imported things? As I mentioned above, I would prefer not to run the
> compiler further than the type checking phase, since otherwise it gets too
> expensive for IDE usage. Right now HLS uses the information from the .hie
> files.
>
> >
>
> >
>
> >  In fact, this goes into the more general question of how to show
> information from different analyses within the IDE; I guess solving the
> case for strictness/analysis may open the door to more (maybe everything
> recorded inside a `Id`?)
>
> >
>
> >  Regards,
>
> >  Alejandro
>
> >  _______________________________________________
>
> >  ghc-devs mailing list
>
> >ghc-devs at haskell.org
>
> >http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
> _______________________________________________
>
> ghc-devs mailing list
>
> ghc-devs at haskell.org
>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20220113/2e7b1484/attachment.html>


More information about the ghc-devs mailing list