There is definitely no pure way to get from ‘a’ to its constraints.

 

So as Ben says, to give a sensible response you’ll need to explain more about your goal

 

Simon

 

From: ghc-devs <ghc-devs-bounces@haskell.org> On Behalf Of Alejandro Serrano Mena
Sent: 16 January 2020 16:19
To: GHC developers <ghc-devs@haskell.org>
Subject: Find constraints over type

 

Dear GHC devs,

I am trying to figure out a way to obtain the constraints that hold over a type. Let me give you an example: suppose that I write the following function:

 

f :: Eq a => [a] -> Bool

f xs = xs == []

 

If I ask for the type of the Var ' xs', I get back '[a]'. This is correct, but I am missing the crucial information that '[a]' must be Eq.

 

Is there an easy way to get it? It seems that 'varType' doesn't give me enough information.

 

Regards,

Alejandro