implementation of file-related modules
Wolfgang Thaller
wolfgang.thaller at gmx.net
Mon Oct 20 13:07:41 EDT 2003
Keith Wansbrough wrote:
>>> Platform.{Debian,FreeBSD,MacOSX,Windows98,Windows2000}.
>>> {configDirectory,fileSeparator,etc}
>>
>> I find it harder to think why I would want to know where Windows
>> machines
>> store their configuration files.
>
> Furthermore, the location isn't fixed on Windows: it might be
> C:\WINDOWS\System (the most usual), or D:\WINDOWS\System (also
> possible), or <arbitrary-windows-path>\System (because the user can
> specify anything they like at install time).
>
> So config-file location has to be per machine, not per OS.
>
> Which suggests not putting it in the module
> heirarchy... Platform.UK.AC.CAM.CL.GLIA-NT.configDirectory, anyone? :)
I think it is a platform-dependent IO action:
getConfigDirectory :: IO String
This might simply be
getConfigDirectory = return "/etc/"
... but on Windows, where the directories aren't fixed, and on Mac OS,
where the directories are fixed but developers are told not to rely on
that fact, we can use OS-specific functions for finding the correct
location.
(Bit is \Windows\System really for config files? I thought DLLs and
drivers go there... but then I don't use Windows much.)
Cheers,
Wolfgang
More information about the Libraries
mailing list