* The "Program Files" folder usually has at least one space in its path, which could cause a lot of problems for Unix-centric software. For this reason alone, I always install anything that isn't Windows-specific into "c:\software" instead of "C:\Program Files." If the default prefix is going to be "Program Files" then there should be a note in the Cabal documentation that the application should expect to be installed into a directory with spaces in the path. * Even if a program is written in Haskell and is built with Cabal, I imagine that people who write Windows Haskell software for non-developers will not expect users to install the software via Cabal. Instead, they will provide an MSI with a GUI installer. That means that, for the most part, the only users of Cabal on Windows will be programmers. So, I think that the Cabal experience on Windows should be optimized for us. In particular, if I run "runghc Setup.hs install" when I am using MSYS Bash, I want the package to install into "/usr/local/" just like it would on Unix. * I don't think it makes sense for executable packages to have "Haskell" in their prefix unless they are explicitly "for Haskell." For example, Darcs isn't a Haskell tool; it is a versioning tool that happens to be implemented in Haskell, so it wouldn't make sense for it to be installed into "C:\Program Files\Haskell\Darcs-1.0," just like we wouldn't want it installed into "C:\Prgoram Files\C#\Darcs-1.0" if it was written in C#. Conversely, library packages are presumable Haskell-specific and so it makes sense for them to have "Haskell" in their prefix. Just my 2 cents. - Brian - Brian [1] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/pla... [2] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/... - Brian or
2) C:\Haskell\<package-name>-<version>
where "Haskell" could also be "Packages" I guess.
-- Daan Leijen
Brian Smith wrote:
On 6/15/05, *Simon Marlow* <simonmar@microsoft.com <mailto:simonmar@microsoft.com >> wrote:
On 15 June 2005 05:49, Brian Smith wrote:
The documentation states in Section 3.1 that the default value of "prefix" is "/usr/local" on Unix. However, it doesn't specify what the prefix is on Windows. I found that the default value for prefix is: C:\Program Files\<package-name>\<compiler-name>-<compiler-version>. For example, version 1.0 of a package named "Foo" compiled with GHC 6.5 would have a default prefix of: C:\Program Files\Foo\ghc-6.5
The compiler version is there to avoid conflicts in the case when you have multiple versions of GHC installed and the package is installed for each one. However, I don't think we currently include the compiler & version in the default $(libdir) on Unix, so whatever we do we should do
it consistently.
Okay, that makes more sense to me. However, I think that executables should go in "C:\Program Files\<package-name>-<package-version>\bin," not <C:\Program Files\<package-name>\<compiler-name>-<compiler-version>\bin" as they do currently.
- Brian
------------------------------------------------------------------------
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries