Thanks, that's helpful. Sounds like the situation is even more complicated than I realized. It will be great if the documentation can be updated once the behavior stabilizes.
John On Thu, Dec 10, 2015 at 7:54 AM, Alexey Vagarenko <vagare...@gmail.com> wrote: > This ticket might be relevant > https://ghc.haskell.org/trac/ghc/ticket/11046 > > 2015-12-10 20:51 GMT+05:00 John Leo <l...@halfaya.org>: > >> I sent this to haskell-cafe a little while ago but didn't get a response, >> so I thought I'd try here. I'd guess this is a case of the GHC user guide >> needing an update, but I'd like an expert opinion. >> >> --- >> >> According to sections 7.4.3 and 7.4.4 of the latest GHC documentation >> >> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/data-type-extensions.html >> you can define (7.4.3) an infix type constructor as long as it begins >> with a colon, for example >> data a :*: b = Foo a b >> >> and furthermore (7.4.4) you can define an infix operator without having >> to use a colon if you enable the TypeOperators extension: >> data a * b = Foo a b >> >> However if I try the former without using TypeOperators I get this >> compiler error in 7.10.2: >> Illegal declaration of a type or class operator ‘:*:’ >> Use TypeOperators to declare operators in type and declarations >> >> Using TypeOperators fixes this, but then * without colon also works so I >> don't see the point of using colon anymore. >> >> My guess is this was some some kind of historical distinction which is no >> longer valid and the documentation needs to be updated. Is this true, or >> am I missing something? >> >> John >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs@haskell.org >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> >> >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs