type equality symbol

Wolfgang Jeltsch g9ks157k at acme.softbase.org
Wed Dec 5 18:34:48 EST 2007


Am Mittwoch, 5. Dezember 2007 17:05 schrieb Simon Peyton-Jones:
> […]

> Anyway, while on this subject, I am considering making the following
> change:
>
>         make all operator symbols into type constructors
>         (currently they are type variables)

This would be highly problematic!

Concerning syntax, everything that holds for values should also hold for 
types.  For values, identifiers starting with a capital letter and operators 
starting with a colon denote “constants”, everything else denotes variables.  
Exactly the same should hold for types since otherwise we would get a very 
confusing result.  So we should keep things as they are concerning type 
constructors and type variables.  And we should think about type functions 
being denoted by lower case identifiers and operators not starting with a 
colon because they are similar to non-constructor functions on the value 
level.

We should strive for a systematic language and therefore not make ad-hoc 
decisions which for the moment seem to serve a purpose in some specific 
cases.

> […]

Best wishes,
Wolfgang


More information about the Glasgow-haskell-users mailing list