π ARCHITECTURE
We have Spaghetti ARCHITECTURE inspired by Flying Spaghetti Monster.
Tools and libraries:
- For start:
- Summoner for scaffolding fully configured batteries-included production-level Haskell projects
- haskeleton is a project skeleton for Haskell packages
- cake-slayer - Architecture of Haskell backend applications
- three-layer - Architecture of Haskell backend applications
- stylish-haskell for formatting code
- haddock for documentation
- For static code analysis:
- For dynamic code analysis:
- hspec for unit and integration tests
- hspec-expectations-pretty-diff for catchy combinators for HUnit
- hspec-golden for golden tests
- hspec-slow for find slow test cases
- hspec-megaparsec for test megaparsec
- gauge for performance measurement and analysis
- weigh for measure allocations of a Haskell functions/values
- hspec for unit and integration tests
- For configuration:
- optparse-applicative for parse options
- tomland for configuration from file
- dhall-haskell for configuration from file
- For patching List:
- list-singleton for easily and clearly create lists with only one element in them
- split for splitting lists
- ilist for doing index-related things
- slist for sized list
- ListLike for list abstraction
- mono-traversable for list abstraction
- lens for for modification
- For production code:
- mtl for IoC
- polysemy for IoC
- relude as standard library
- co-log for logging
- data-default for default values
- validation-selective is lighweight pure data validation based on Applicative and Selective functors
- filepath for manipulating FilePaths in a cross platform way.
- pretty-simple for data types with a βShowβ instance
- megaparsec for parsing languages
- repline for REPL