On 5/5/05, S. Alexander Jacobson <alex@alexjacobson.com> wrote:
On Tue, 3 May 2005, Samuel Bronson wrote:
Maybe something like
from Text.HaXML.XML import (Types, Escape, Pretty)
would be nice.
The problem with this one is that you need a way to express all the other stuff in import statements like "qualified" or "as", the imported list, etc.
Hmm, I guess it isn't dead obvious what they would do, but it seems like it would make more sense that way than with braces-and-commas in the shell style.
If you don't like the dots and are willing to deal with having to type the current module hierarchy twice, a more verbose syntax would be
Proposal Translation -------- ----------- module Foo.Bar.Baz.Bing where module Foo.Bar.Baz.Bing where from Foo.Bar.Baz import Blip import Foo.Bar.Baz.Blip as Blip from Text.HaXML.XML import Types import Text.HaXML.XML.Types as Types import Escape import Text.HaXML.XML.Escape as Escape
Not as tight as the prior syntax I proposed, but more readable and still a large improvement on the status quo.
Thoughts?
That looks pretty much like what I had only with an import for each module, instead of one import with syntax a bit like deriving... probably much easier to parse, and a bit more obvious what it means. Definately makes qualified and friends more fine-grained than I was thinking. You could even nest them. Also, it is much easier on the eyes than your previous suggestion, and there are no dots to count. I like it ;-). --Sam