Exercism exercises in PureScript.
Thank you so much for contributing! 🎉
When in doubt just open a GitHub issue and ask! In any case, don't be afraid or shy! We promise to be friendly and as helpful as possible.
As a first step we recommend you read the contributing guide.
All exercises live in exercises
folder. Here's the standard folder structure:
<exercise name>
├─ examples
│ └─ src
│ └─ <ExerciseName>.purs
├─ src
│ └─ <ExerciseName>.purs
├─ test
│ └─ Main.purs
├─ packages.dhall
└─ spago.dhall
Creating a new exercise requires modification to:
examples/src/<ExerciseName>.purs
- put your solution heresrc/<ExerciseName>.purs
- this should generally only have the module declaration and the exports and signatures of the functions that the solution should contain
The remaining files:
test/Main.purs
- contains testsspago.dhall
andpackages.dhall
- these are copied from the template projecttemplate/*.dhall
and should not be directly modified (see the following section)
- Create a new git branch for the exercise
- Create a directory for the exercise in
exercises
folder with the name of the exercise - Create directories
examples
,src
andtest
in your exercise directory - Use
bin/fetch-configlet && bin/configlet generate . --only exercise-name
to generate theREADME.md
- Use
bin/configlet uuid
to generate a new UUID for the exercise - Add exercise details to
config.json
- Add tests to
test/Main.purs
- Add your solution to
examples/src/<ExerciseName>.purs
- Run
bin/test.sh
to make sure all tests pass - Commit, push and make a pull request
- Check that GitHub CI passes
Typical examples for a bug: A typo, a missing test case, an unclear or ambiguous problem description.
- If you are unsure whether you have really found a bug just ask.
- To report a bug you can write an issue
- If you already have a fix for it you may write a pull request.
If you have an opinion or feedback on work currently being done on this track please do write a comment for an issue or a pull request. Feedback is extremely useful to us.
Please be detailed and include any links or arguments to support your opinion.
Here is the list of missing exercises. See here for more information about porting an exercise. Of course you can also add a totally new exercise, but it might be a good idea to first discuss it in one of our forums.
Here is a general description of all the files and directories that are not explicitly described below.
To fix a bug you should create a pull request from a fork here. See also here for more information.
The PureScript logo was created by Gareth Hughes, and is licensed under the Creative Commons Attribution 4.0 license. We have adapted it, changing the colour scheme, for use on Exercism.