Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/exercism/purescript
Exercism exercises in PureScript.
https://github.com/exercism/purescript
community-contributions-paused exercism-track
Last synced: about 1 month ago
JSON representation
Exercism exercises in PureScript.
- Host: GitHub
- URL: https://github.com/exercism/purescript
- Owner: exercism
- License: mit
- Created: 2016-07-05T21:31:06.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-04-25T12:41:29.000Z (8 months ago)
- Last Synced: 2024-05-01T11:25:27.752Z (8 months ago)
- Topics: community-contributions-paused, exercism-track
- Language: PureScript
- Homepage: https://exercism.org/tracks/purescript
- Size: 637 KB
- Stars: 35
- Watchers: 8
- Forks: 30
- Open Issues: 66
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Exercism PureScript Track
Exercism exercises in PureScript.
## How to contribute
Thank you so much for contributing! :tada:
- [Asking for help](#asking-for-help)
- [How to contribute](#how-to-contribute)
* [Reporting or fixing bugs](#reporting-or-fixing-bugs)
* [Reviewing issues and pull requests](#reviewing-issues-and-pull)
* [Porting exercises](#porting-exercises)
- [Repository structure and conventions](#repository-structure-and-conventions)
- [Writing a pull request](#writing-a-pull-request)### Asking for help
When in doubt just [open a GitHub issue][new-issue] and ask! In any case, don't
be afraid or shy! We promise to be friendly and as helpful as possible.[new-issue]: https://github.com/exercism/purescript/issues/new
### How to contribute
As a first step we recommend you read the [contributing guide][cont-guide].
[cont-guide]: https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md
#### Standard exercise folder strucutre
All exercises live in `exercises` folder. Here's the standard folder structure:
```
├─ examples
│ └─ src
│ └─ .purs
├─ src
│ └─ .purs
├─ test
│ └─ Main.purs
├─ packages.dhall
└─ spago.dhall
```Creating a new exercise requires modification to:
- `examples/src/.purs` - put your solution here
- `src/.purs` - this should generally only have the module
declaration and the exports and signatures of the functions that the solution
should containThe remaining files:
- `test/Main.purs` - contains tests
- `spago.dhall` and `packages.dhall` - these are copied from the template
project `template/*.dhall` and should not be directly modified (see the
following section)#### Steps for adding a new exercise
- 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` and `test` in your exercise directory
- Use `bin/fetch-configlet && bin/configlet generate . --only exercise-name` to generate the `README.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/.purs`
- Run `bin/test.sh` to make sure all tests pass
- Commit, push and make a pull request
- Check that GitHub CI passes#### Reporting or fixing bugs
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](#asking-for-help).
- To report a bug you can [write an issue][new-issue]
- If you already have a fix for it you may [write a pull request](#writing-a-pull-request).#### Reviewing issues and pull requests
If you have an opinion or feedback on work currently being done on this track
please do [write a comment][write-comment] for an [issue][issues] or a
[pull request][prs]. Feedback is extremely useful to us.[write-comment]: https://help.github.com/articles/commenting-on-a-pull-request/
[issues]: https://github.com/exercism/purescript/issue
[prs]: https://github.com/exercism/purescript/pullPlease be detailed and include any links or arguments to support your opinion.
#### Porting exercises
Here is the [list of missing exercises][missing]. See here for more information
about [porting an exercise][porting]. 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](#asking-for-help).[missing]: http://exercism.io/languages/purescript/todo
[porting]: https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#porting-an-exercise-to-another-language-track### Repository structure and conventions
[Here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#track-anatomy)
is a general description of all the files and directories that are not
explicitly described below.### Writing a pull request
To fix a bug you should [create a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) [here](https://github.com/exercism/purescript/pull). See also [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics) for more information.### Purescript icon
The PureScript logo was created by Gareth Hughes, and is licensed under the [Creative Commons Attribution 4.0 license](https://creativecommons.org/licenses/by/4.0/).
We have adapted it, changing the colour scheme, for use on Exercism.