Namespaces (was Re: GUI Library Task Force)

Hal Daume III hcd@andrew.cmu.edu
Wed, 10 Oct 2001 15:29:03 -0400 (EDT)


So, barring this, I'm curious how other people handle this issue.

I have multiple projects.  Call them A, B, C.  They are in directories:
  ~/projects/A
  ~/projects/B
  ~/projects/C
repsectively.

Say I'm creating a new project, D, in ~/projects/D that uses code that
I've written in packages A, B and C.  Now, as far as I can see, I have
two options:

 1) Copy all the .(l)hs files from /A, /B, and /C to /D that I need to
import
 2) Include projects/A, projects/B and projects/C in my search path for
ghc(i)

I hate both of these options.  1 is terrible because I have multiple
copies of the same code lying around and, if I make changes to one, I
have to remember to copy the changes over to the others.  2 is a big
nuisance, especially since ghc (seems to) lack an environment variable
that it looks at to get command line options every time it runs
(HUGSFLAGS, I think it was for Hugs).

So is there a third option that I'm missing?  How do other people handle
this issue?

 - Hal

On Wed, 10 Oct 2001, Mark Carroll wrote:

> On Wed, 10 Oct 2001, Hal Daume III wrote:
> (snip)
> > least) is that the Java compiler knows how to interpret the "."s and
> > will use them to navigate directory structure.
> (snip)
>
> Yes, that's certainly an interesting idea. I'd like to fall short of
> mandating anything about location of source files in any language spec,
> though: although I can see that people probably find Java's imposed
> semantics useful, personally I find them irritating and wouldn't want to
> shackle everyone to them.
>
> -- Mark
>
>
> _______________________________________________
> Haskell mailing list
> Haskell@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hal Daume III                                                  hal@cmu.edu
"arrest this man, he talks in maths"               www.andrew.cmu.edu/~hcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~