Collection of community Haskell project templates.
Contributions are welcome! Please refer to: contributing
Templates for stack new
, complementing the templates found in the stack-templates project.
The stack-templates
project is currently searching a solution for modular, composable, upgradable, generic, safe stack templates.
Currently(10/2016) they are not too fond of PRs for new templates, until the general direction has been decided.
That's why this project was created. Until a correct solution has been found, I suggest we gather all our templates in here,
and then kill this project as soon as stack-templates
is done.
I suggest it might make sense to gather many templates in order to deduce the requirements for a project like stack-templates
.
-
Pick a template from below and copy the URL of the template (e.g. by right clicking).
-
Open a (git-) shell, change to the top-level directory your projects, project sub directories will be created automatically.
-
Define
author-email
,author-name
,github-username
andcopyright
in~/.stack/config.yaml
-
Run
stack new <projectname> <template-url> -p "category:<hackage-category>"
, e.g.:stack new skynet-core https://github.com/sheyll/oh-my-stack-templates/raw/master/sheyll-library.hsfiles -p "category:Machine Learning"
-
To override global settings, e.g. to use the organizations github user instead of your personal, supply corresponding
-p "key:value"
parameters, e.g.:stack new skynet-core https://github.com/sheyll/oh-my-stack-templates/raw/master/sheyll-library.hsfiles -p "category:Machine Learning" -p "github-username:cyberdyne"
- GHC 8 only
- Many syntax extension
- Many type level programming extensions and dependencies
bytestring
,vector
,binary
,lens
,text
,array
,pretty
,parsec
,exceptions
,mtl
,containers
,singletons
,uuid
and other pure-ish dependencies- IO-ish dependencies:
random
,time
- Unit tests based on
hspec
,hspec-discover
andQuickCheck
- Benchmarks based on
criterion
- Travis-CI configuration
CHANGELOG.markdown
README.markdown
with Hackage and Travis-CI batches- A sane
.gitignore
- Super-set of
sheyll-library
- Additional IO-ish dependencies:
resource
,process
,random
,async
,stm
,network
,streaming-commons
-
Compile with
printf-debugging
enabled:stack build -f projectname:printfdebugging
-
Run only light-weight tests:
stack test -f projectname:-fulltests
-
Run only light-weight benchmarks:
stack test -f projectname:-fullbenchmarks
/src
/library
/tests
/benchmarks