
Hi Tom
Well I still prefer my suggestion that all module names be separated with ';'
Foo.Bar.+.+
which is of course (Foo.Bar).(+.+). Note that this also works correctly for local functions that are operators containing '.'. For example
Foo.Bar.200_+.+
Hmm, now I'm changing my mind. Those examples make me think that ; is more sensible - since otherwise you are really screwing with small differences in what makes an operator or not - I especially dislike the "leading digits" rule. I would rather that Core didn't care too much about operator vs function differences, but these two examples show it will have to. Therefore I think ; makes more sense. If we use ; we can also change it so: module Foo where foo = ... where bar = ... Foo;foo.bar - which is exactly what you would want, to keep as much info as possible. Of course, this change could be done sometime in the future.
I'll also leave out the import stuff for now, with a view that it's easy enough to add it later if people do decide they do want it. The conversion routine is going to generate the same information in either case, it's just whether it gets put in the core structure or not.
Agreed, ditto with the primitive stuff. Thanks Neil