Especificando la ruta de búsqueda para las operaciones de "carga" en ghci

EnCargando archivos fuente indica que la ruta de búsqueda para encontrar archivos de origen se especifica con la opción -i:

ghci -idir1:...:dirn

¿Significa esto que cuando uno realiza:

:load test.hs

¿Entonces ghci busca en los directorios de arriba para test.hs? Vi la respuesta enProblema al especificar el directorio de origen a GHC Pero todavía no tengo claro esto.

Por ejemplo en Windows XP pongo test.hs en:

C:\Documents and Settings\winuser\My Documents

y luego corrió:

ghci -iC:\Documents and Settings\winuser\My Documents

Sin embargo al hacer:load test.hs, Ghci se quejó de no poder encontrar el archivo.

[EDIT 1]

Quiero evitar usar:cd porque descarga todos los módulos cargados, lo que me impide cargar archivos desde varias ubicaciones

[EDIT 2: respuesta a jozefg]

--C:\A\A.hs
module A where
myaddA::Int->Int->Int
myaddA x y = x+y

--C:\B\B.hs
module B where
myaddB::Int->Int->Int
myaddB x y = x+y

Entonces puedo hacer lo siguiente:

Prelude> :cd C:\A
Prelude> :load A
[1 of 1] Compiling A                ( A.hs, interpreted )
Ok, modules loaded: A.
*A> myaddA 2 3
5
*A> :cd C:\B
Warning: changing directory causes all loaded modules to be unloaded,
because the search path has changed.
Prelude> :load B
[1 of 1] Compiling B                ( B.hs, interpreted )
Ok, modules loaded: B.
*B> myaddB 3 4
7

Sin embargo, no he encontrado una manera de hacer que los módulos A y B estén disponibles simultáneamente cuando los módulos se almacenan en archivos en diferentes ubicaciones

[EDIT 3: respuesta a jozefg]

>ls
temp  temp2
>more temp/A.hs
module A where
addA = (+)
>more temp2/B.hs
module B where
addB = (+)
>cd temp
>ghci -i../temp2
GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> import A B

<interactive>:1:10: parse error on input `B'

[EDIT 4: respuesta a jozefg]

>ls
temp  temp2
>more temp/A.hs
module A where
addA = (+)
>more temp2/B.hs
module B where
addB = (+)
>cd temp
>ghci -i../temp2
GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> import A

<no location info>:
    Could not find module `A'
    It is not a module in the current program, or in any known package.
Prelude> import B

<no location info>:
    Could not find module `B'
    It is not a module in the current program, or in any known package.

Respuestas a la pregunta(2)

Su respuesta a la pregunta