[ghc-steering-committee] Proposal #79 "Add a :kind!! command to ghci" — propose yes

Richard Eisenberg rae at cs.brynmawr.edu
Wed Mar 21 18:45:57 UTC 2018



> On Mar 21, 2018, at 2:25 PM, Joachim Breitner <mail at joachim-breitner.de> wrote:
> 
> How about we special case the syntax
> 
> :type _ :: Foo
> 

I really liked this for a moment, but then I realized it doesn't work if you want to reduce a type that isn't of kind Type.

But maybe you're onto something here. What about having the following set of options for :type:

1. +v means to print the type of the thing exactly as-is, without any funny business
2. +d means to default the type
3. +t means that you're asking for the type of a type, instead of the type of an expression
4. +f means to evaluate any type families
5. +s means to expand any type synonyms

+v is incompatible with +d, +f, and +s. Otherwise, I think these mix nicely. :kind becomes a synonym for :type +t and :kind! becomes a synonym for :type +t +f. Note that users can define their own synonyms through :def.

Richard



More information about the ghc-steering-committee mailing list