[Yhc] Some more changes to core

Neil Mitchell ndmitchell at gmail.com
Sun Aug 5 06:15:10 EDT 2007


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


More information about the Yhc mailing list