bravit / hid-examples

Examples to accompany the book "Haskell in Depth"
BSD 3-Clause "New" or "Revised" License
257 stars 93 forks source link

please reconsider from single brittle Big bang build to convenient accessible modular approach stepwise small builds that make each chapter really independent and avoids early unnecessary complex decluttering of all dependencies at once when something goes wrong #18

Open Delli opened 11 months ago

Delli commented 11 months ago

Here's a recommended directory structure for managing multiple executables in a Stack project:

. ├── App1 │ ├── Main.hs │ └── stack.yaml ├── App2 │ ├── Main.hs │ └── stack.yaml ├── App3 │ ├── Main.hs │ └── stack.yaml └── stack.yaml Each App# directory contains the Haskell source code and Stack configuration for a specific executable. This allows you to build and run each executable independently using the following commands:

stack build App1 stack build App2 stack build App3 You can also run each executable directly from the corresponding directory:

cd App1 stack exec Main This approach promotes modularity and makes it easier to reuse code between different executables. You can also define shared libraries and dependencies using Stack's configuration files.