[ghc-steering-committee] Proposal: Embrace Type in Type

Iavor Diatchki iavor.diatchki at gmail.com
Fri Feb 2 17:24:24 UTC 2018


Someone pointed out on the git-hub discussion that `Type` is just a type
synonym for `TYPE LiftedRep` and it is odd to use a keyword for a
non-primitive.  I agree.  Also, if we are going to have a special case, I'd
much rather have the special case be for * or ★, rather than for `type`.



On Thu, Feb 1, 2018 at 5:58 PM Joachim Breitner <mail at joachim-breitner.de>
wrote:

> Hi,
>
> Am Freitag, den 02.02.2018, 12:40 +1100 schrieb Manuel M T Chakravarty:
> > However, I have to say, I am very intrigued with the alternative to
> > the proposal that Richard mentioned in this thread, namely to use
> > ”type”, not ”Type”. The more I think about it, the more I like this
> > idea.
>
> This is somewhat analogous to (->). We could treat that as a normal
> binary operator that his exported by the Prelude, one that could be
> hidden or shadowed… but we don’t. “type” would be another thing that
> “Could be a normal name but isn’t”.
>
> But I am not convinced yet.
>
> In particular in light of our use of “type” as a explicit namespace
> token – so far in export and import lists and fixity declarations – I
> worry that we will prevent ourselves from using more such explicit
> namespace things in the future.
>
> Also, the last point:
>
>     Finally, it means that
>
>         type T = Bool
>
>       adds another equality to ”type”, which is really nice.
>
> doesn’t really work for me. If “type” is now just another (albeit)
> special object, then this looks rather like a functoin definition for
> this thing called “type”.
>
> Cheers,
> Joachim
>
> --
> Joachim Breitner
>   mail at joachim-breitner.de
>   http://www.joachim-breitner.de/
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180202/ea64c2b3/attachment.html>


More information about the ghc-steering-committee mailing list