Search code examples
haskellcabal

Literate Haskell specifying explicit source paths for Cabal


I have a folder full of literate Haskell notes which are sequentially organized like this:

\lhs_notes
  '1 - Intro.lhs'
  '2 - Seq.lhs'
  ...

And each of these files define a module Intro, Seq, and so on. Is there a way to specify in a .cabal file explicit paths for all these modules? Because for organisational purposes, I want to keep the names of the files as they are, but I have no idea how to make cabal find any of these modules.


Solution

  • No. But you can make links or symlinks in another directory, giving a FS layout like:

    | alphabetical
    +---
    |   | BetterSeq.lhs
    |   | Intro.lhs
    |   | Seq.lhs
    |
    | logical
     ---
        | 1 - Intro.lhs -> ../alphabetical/Intro.lhs
        | 2 - Seq.lhs -> ../alphabetical/Seq.lhs
        | 3 - BetterSeq.lhs -> ../alphabetical/BetterSeq.lhs