
If I want to write part of the code for my program as a library, and so put those modules into a hierarchical module structure (with the non-library code in no module), do I have to structure the directories in a special way to get the module search to work? -- Colin Adams Preston Lancashire

On Fri, Feb 27, 2009 at 5:36 PM, Colin Paul Adams
If I want to write part of the code for my program as a library, and so put those modules into a hierarchical module structure (with the non-library code in no module), do I have to structure the directories in a special way to get the module search to work?
Yes, module My.Pretty.Little.Module must be in file "My/Pretty/Little/Module.hs" in one of the root directories (which can be specified on the command line to ghc, or in the .cabal file if you use an unusual directory structure). Note that this only apply before compiling, the executable is independent. -- Jedaï

"Chaddaï" == Chaddaï Fouché
writes:
Chaddaï> On Fri, Feb 27, 2009 at 5:36 PM, Colin Paul Adams
Chaddaï>

On Fri, 27 Feb 2009 18:26:51 +0100, Chaddaï Fouché
On Fri, Feb 27, 2009 at 5:36 PM, Colin Paul Adams
wrote: If I want to write part of the code for my program as a library, and so put those modules into a hierarchical module structure (with the non-library code in no module), do I have to structure the directories in a special way to get the module search to work?
Yes, module My.Pretty.Little.Module must be in file "My/Pretty/Little/Module.hs" in one of the root directories (which can be specified on the command line to ghc, or in the .cabal file if you use an unusual directory structure). Note that this only apply before compiling, the executable is independent.
This last line sounds a bit fishy to me. I think what would happen here is that you would create a separate module, but when your application is linked, any code that is used from that module would be compiled and included into your binary. I suspect that what Colin may have been looking for are instructions on how to create a standalone library that his application can dynamically link to. I'm curious about this as well.

"David" == David Frey
writes:
David> I suspect that what Colin may have been David> looking for are instructions on how to create a standalone David> library that his application can dynamically link to. I'm David> curious about this as well. No, I was only interested in how to structure the library on disk. -- Colin Adams Preston Lancashire
participants (3)
-
Chaddaï Fouché
-
Colin Paul Adams
-
David Frey