Rough structure of the program

ca-store is planned to work as follows:
1) A monad (currently IO) will generate the configuration, read the command
   line, parse the config files, and create the environment the program
   should run in.
2) This environment will be passed to the main monad (currently Program)
   to do the work.

Currently everything will be directly coded with little to no abstraction.
Once ca-store is up and running, we will begin regaining purity by pulling
major features into small testable units.
This commit is contained in:
hylodon 2025-09-12 16:16:51 +01:00
parent 7f2d095d2c
commit c504f85a2d
13 changed files with 434 additions and 0 deletions

15
.gitignore vendored Normal file
View file

@ -0,0 +1,15 @@
*
!*/
!.gitignore
!flake.nix
!flake.lock
!package.yaml
!app/Main.hs
!src/CAStore/Command.hs
!src/CAStore/Config.hs
!src/CAStore/Config/Type.hs
!src/CAStore/Config/CLI.hs
!src/CAStore/Program.hs
!src/CAStore/Program/Storage.hs
!src/CAStore/Type.hs
!src/Data/List/Extra.hs