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
_______________________________________________
Yhc mailing list
Yhc@haskell.org
http://www.haskell.org/mailman/listinfo/yhc

Reply via email to