Exercism exercises in Haskell
Please see the contributing guide
You should have Stack installed in your system to make contributing to this repository easier.
All exercises have the following structure:
stack.yamlhas just one line specifying the current Stack snapshot. We use the same resolver for all the exercises.package.yamlis a file in the hpack format that has all dependencies and build instructions for an exercise.src/ModuleName.hsis a stub solution.src/examples/success-foo/package.yamlhas dependencies for the example solution namedfoo.src/examples/success-foo/src/ModuleName.hsis the source code of the sample solution.test/Tests.hsis the test suite.HINTS.mdis an optional file containing instructions and/or hints.
In order to be accepted by Travis-CI, every exercise must compile without warnings and the example solution must pass the tests without failures.
To test an exercise, first you need to rename the file src/Example.hs
to match the module name, but - because we already have a stub solution
in place - we have to move it first, otherwise it will be overwritten.
Running stack test --pedantic compiles and run the tests with
-Wall -Werror, but unfortunately it doesn't recompile unchanged
source code already compiled with warnings.
To be really sure that everything compiles correctly without
warnings, your must first run stack clean.
stack clean
stack test --pedanticAll code in this repository should be as idiomatic as possible, so we
enforce in Travis-CI that it returns No hints when processed by
HLint.
It is highly recommended to run hlint on your sources before opening
a pull request, so you can fix your code before submitting it for review.
If you are certain that a suggestion given by hlint would make the
code worse, you can suppress it
with annotations in the source file.
The MIT License (MIT)
Copyright (c) 2014 Katrina Owen, _@kytrinyx.com
The Haskell icon was designed by Darrin Thompson and Jeff Wheeler. It was released under the HaskellWiki license.
