
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@joachim-breitner.de http://www.joachim-breitner.de/