mirror of
https://github.com/qfpl/applied-fp-course.git
synced 2024-11-27 01:23:00 +03:00
00e02a3f9d
Made the error management for loading the JSON config file work as one might expect it should. Expanded the error reporting expectations to include specific file reading and JSON decoding errors. The difficulties that will be had in handling the multiple either values will motivate latter sections RE ExceptT (EitherT) transformers. However there is nothing here that should be beyond people that do not know how transformers work. Added more doctests to the different moving parts to make things a bit clearer. Added doctests to the cabal files and included a 'doctests.hs' to the tests section. default.nix files have been updated with the bonus dependency.
121 lines
3.8 KiB
Plaintext
121 lines
3.8 KiB
Plaintext
-- Initial level01.cabal generated by cabal init. For further
|
|
-- documentation, see http://haskell.org/cabal/users-guide/
|
|
|
|
-- The name of the package.
|
|
name: level04
|
|
|
|
-- The package version. See the Haskell package versioning policy (PVP)
|
|
-- for standards guiding when and how versions should be incremented.
|
|
-- https://wiki.haskell.org/Package_versioning_policy
|
|
-- PVP summary: +-+------- breaking API changes
|
|
-- | | +----- non-breaking API additions
|
|
-- | | | +--- code changes with no API change
|
|
version: 0.1.0.0
|
|
|
|
-- A short (one-line) description of the package.
|
|
synopsis: Simplest of web apps
|
|
|
|
-- A longer description of the package.
|
|
-- description:
|
|
|
|
-- The license under which the package is released.
|
|
license: BSD3
|
|
|
|
-- The file containing the license text.
|
|
license-file: LICENSE
|
|
|
|
-- The package author(s).
|
|
author: QFPL @ Data61
|
|
|
|
-- An email address to which users can send suggestions, bug reports, and
|
|
-- patches.
|
|
maintainer: sean.chalmers@data61.csiro.au
|
|
|
|
-- A copyright notice.
|
|
-- copyright:
|
|
|
|
category: Education
|
|
|
|
build-type: Simple
|
|
|
|
-- Extra files to be distributed with the package, such as examples or a
|
|
-- README.
|
|
extra-source-files: ChangeLog.md
|
|
|
|
-- Constraint on the version of Cabal needed to build this package.
|
|
cabal-version: >=1.10
|
|
|
|
library
|
|
-- Modules included in this executable, other than Main.
|
|
exposed-modules: FirstApp.Conf
|
|
, FirstApp.Types
|
|
, FirstApp.Main
|
|
|
|
ghc-options: -Wall
|
|
-fno-warn-unused-binds
|
|
-fno-warn-unused-do-bind
|
|
-fno-warn-unused-imports
|
|
-fno-warn-type-defaults
|
|
-ferror-spans
|
|
|
|
-- Other library packages from which modules are imported.
|
|
build-depends: base >=4.9 && <4.10
|
|
, wai == 3.2.*
|
|
, warp == 3.2.*
|
|
, http-types == 0.9.*
|
|
, bytestring == 0.10.*
|
|
, text == 1.2.*
|
|
, optparse-applicative == 0.13.*
|
|
, aeson == 1.*
|
|
|
|
-- Directories containing source files.
|
|
hs-source-dirs: src
|
|
|
|
-- Base language which the package is written in.
|
|
default-language: Haskell2010
|
|
|
|
executable level04
|
|
-- .hs or .lhs file containing the Main module.
|
|
main-is: Main.hs
|
|
|
|
-- Modules included in this executable, other than Main.
|
|
-- other-modules:
|
|
|
|
-- LANGUAGE extensions used by modules in this package.
|
|
-- other-extensions:
|
|
|
|
-- Other library packages from which modules are imported.
|
|
build-depends: base >=4.9 && <4.10
|
|
, level04
|
|
|
|
-- Directories containing source files.
|
|
hs-source-dirs: bin
|
|
|
|
-- Base language which the package is written in.
|
|
default-language: Haskell2010
|
|
|
|
-- This is the declaration of a test-suite for your application. You may have
|
|
-- multiple test suites in a single application, provided they are named
|
|
-- differently.
|
|
test-suite level04-tests
|
|
default-language: Haskell2010
|
|
type: exitcode-stdio-1.0
|
|
hs-source-dirs: tests
|
|
main-is: Test.hs
|
|
build-depends: base >= 4.9 && <=4.10
|
|
, level04
|
|
, wai == 3.2.*
|
|
, wai-extra == 3.0.*
|
|
, hspec == 2.4.*
|
|
, hspec-wai == 0.8.*
|
|
, bytestring == 0.10.*
|
|
|
|
test-suite doctests
|
|
-- Base language which the package is written in.
|
|
default-language: Haskell2010
|
|
type: exitcode-stdio-1.0
|
|
ghc-options: -threaded
|
|
main-is: doctests.hs
|
|
hs-source-dirs: tests
|
|
build-depends: base
|
|
, doctest == 0.11.* |