[Hat] problem specifying location of imported module
Olaf Chitil
O.Chitil at kent.ac.uk
Mon Jul 4 11:45:41 EDT 2005
You are right that hat-trans and hmake have to agree on the directory
structure (although duplicating this information is not nice).
Is not the point of the -i option to set the *base* search paths? Such a
path should always point to the base of a possibly hierachical
namespace. So extending the base with "/Hat" would be correct.
This also suggests that hat-trans should always be called with the full
hierarchical name of a module. Otherwise hat-trans would need to find
out to which hierarchy (given several search paths) the module to be
transformed belongs.
The guessing method used by hmake and now also by hat-trans based on
occurrence of "." or ".." is rather brittle.
Ciao,
Olaf
Malcolm Wallace wrote:
>Olaf Chitil <O.Chitil at kent.ac.uk> writes:
>
>
>
>>>Above it looks like the wrong directory was created. Hat created the
>>>directory Hat/../Code when I think it should have created the
>>>directory ../Code/Hat.
>>>
>>>
>>I agree. The directory Hat should be put at the end of the import path,
>>not at the begining.
>>
>>
>
>The placement of the Hat directory (at the beginning or end of
>a path) is dependent on how the directory name is to be interpreted.
>A path corresponding to the hierarchical module namespace, like
> Code/Pictures/Jpg.hs
>should become
> Hat/Code/Pictures/Jpg.hs
>whereas a mere relative pathname with a flat namespace should be the
>opposite, e.g.
> ../Code/Pictures/Jpg.hs
>becomes
> ../Code/Pictures/Hat/Jpg.hs
>
>
>
>
>>This is a problem with hmake, not with the Hat tools themselves.
>>Malcolm, could you modify hmake accordingly?
>>
>>
>
>Actually, in this instance hmake guessed the directory correctly.
>The fault was with hat-trans, which simply assumed all paths were
>strictly hierarchical. The attached patch should fix it.
>
>
More information about the Hat
mailing list