2 -- The cabal-version field refers to the version of the .cabal specification,
3 -- and can be different from the cabal-install (the tool) version and the
4 -- Cabal (the library) version you are using. As such, the Cabal (the library)
5 -- version used must be equal or greater than the version stated in this field.
6 -- Starting from the specification version 2.2, the cabal-version field must be
7 -- the first thing in the cabal file.
9 -- Initial package description 'cses-programming-tasks' generated by
10 -- 'cabal init'. For further documentation, see:
11 -- http://haskell.org/cabal/users-guide/
13 -- The name of the package.
14 name: cses-programming-tasks
16 -- The package version.
17 -- See the Haskell package versioning policy (PVP) for standards
18 -- guiding when and how versions should be incremented.
19 -- https://pvp.haskell.org
20 -- PVP summary: +-+------- breaking API changes
21 -- | | +----- non-breaking API additions
22 -- | | | +--- code changes with no API change
25 -- A short (one-line) description of the package.
28 -- A longer description of the package.
31 -- The license under which the package is released.
34 -- The file containing the license text.
37 -- The package author(s).
40 -- An email address to which users can send suggestions, bug reports, and patches.
41 maintainer: NeilNjae@users.noreply.github.com
43 -- A copyright notice.
48 -- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
49 extra-doc-files: CHANGELOG.md
51 -- Extra source files to be distributed with the package, such as examples, or a tutorial module.
52 -- extra-source-files:
57 executable cses-programming-tasks
58 -- Import common warning flags.
61 -- .hs or .lhs file containing the Main module.
64 -- Modules included in this executable, other than Main.
67 -- LANGUAGE extensions used by modules in this package.
70 -- Other library packages from which modules are imported.
71 build-depends: base ^>=4.18.0.0
73 -- Directories containing source files.
76 -- Base language which the package is written in.
77 default-language: GHC2021
80 common build-directives
81 build-depends: base >=4.16
82 default-language: GHC2021
83 hs-source-dirs: ., app
87 -rtsopts "-with-rtsopts=-N"
90 import: build-directives
94 import: build-directives
98 import: build-directives
102 import: build-directives
106 import: build-directives
110 import: build-directives
114 import: build-directives
118 import: build-directives
122 import: build-directives
126 import: build-directives
130 import: build-directives
134 import: build-directives
138 import: build-directives
140 build-depends: containers
143 import: build-directives
147 import: build-directives
151 import: build-directives
155 import: build-directives
159 import: build-directives
161 build-depends: containers
164 import: build-directives
168 import: build-directives
170 build-depends: containers
173 import: build-directives
174 main-is: cses1625-array.hs
175 build-depends: containers, array
177 executable cses1625ac
178 import: build-directives
179 main-is: cses1625-array-count.hs
183 import: build-directives
184 main-is: cses1625-mutable.hs