{"id":20082084,"url":"https://github.com/exercism/purescript","last_synced_at":"2025-07-26T03:10:44.114Z","repository":{"id":9583986,"uuid":"62670993","full_name":"exercism/purescript","owner":"exercism","description":"Exercism exercises in PureScript.","archived":false,"fork":false,"pushed_at":"2025-07-15T04:03:11.000Z","size":637,"stargazers_count":38,"open_issues_count":43,"forks_count":35,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-07-18T04:16:20.027Z","etag":null,"topics":["community-contributions-paused","exercism-track","unmaintained"],"latest_commit_sha":null,"homepage":"https://exercism.org/tracks/purescript","language":"PureScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exercism.png","metadata":{"funding":{"github":["exercism"],"custom":["https://exercism.org/donate"]},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-07-05T21:31:06.000Z","updated_at":"2025-07-15T04:03:16.000Z","dependencies_parsed_at":"2024-05-02T13:36:52.004Z","dependency_job_id":"ec3d663e-5d95-41d4-89f9-3524e0676677","html_url":"https://github.com/exercism/purescript","commit_stats":{"total_commits":234,"total_committers":32,"mean_commits":7.3125,"dds":0.6837606837606838,"last_synced_commit":"7fafaa393f44aeb6ddb29da27753f010fb30b504"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/exercism/purescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Fpurescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Fpurescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Fpurescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Fpurescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exercism","download_url":"https://codeload.github.com/exercism/purescript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Fpurescript/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266491754,"owners_count":23937740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["community-contributions-paused","exercism-track","unmaintained"],"created_at":"2024-11-13T15:41:45.982Z","updated_at":"2025-07-26T03:10:44.059Z","avatar_url":"https://github.com/exercism.png","language":"PureScript","funding_links":["https://github.com/sponsors/exercism","https://exercism.org/donate"],"categories":[],"sub_categories":[],"readme":"# Exercism PureScript Track\n\nExercism exercises in PureScript.\n\n## How to contribute\n\nThank you so much for contributing! :tada:\n\n- [Asking for help](#asking-for-help)\n- [How to contribute](#how-to-contribute)\n  * [Reporting or fixing bugs](#reporting-or-fixing-bugs)\n  * [Reviewing issues and pull requests](#reviewing-issues-and-pull)\n  * [Porting exercises](#porting-exercises)\n- [Repository structure and conventions](#repository-structure-and-conventions)\n- [Writing a pull request](#writing-a-pull-request)\n\n### Asking for help\n\nWhen in doubt just [open a GitHub issue][new-issue] and ask! In any case, don't\nbe afraid or shy! We promise to be friendly and as helpful as possible.\n\n[new-issue]: https://github.com/exercism/purescript/issues/new\n\n### How to contribute\n\nAs a first step we recommend you read the [contributing guide][cont-guide].\n\n[cont-guide]: https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md\n\n#### Standard exercise folder strucutre\n\nAll exercises live in `exercises` folder. Here's the standard folder structure:\n\n```\n\u003cexercise name\u003e\n├─ examples\n│  └─ src\n│     └─ \u003cExerciseName\u003e.purs\n├─ src\n│  └─ \u003cExerciseName\u003e.purs\n├─ test\n│  └─ Main.purs\n├─ packages.dhall\n└─ spago.dhall\n```\n\nCreating a new exercise requires modification to:\n\n- `examples/src/\u003cExerciseName\u003e.purs` - put your solution here\n- `src/\u003cExerciseName\u003e.purs` - this should generally only have the module\n  declaration and the exports and signatures of the functions that the solution\n  should contain\n\nThe remaining files:\n\n- `test/Main.purs` - contains tests\n- `spago.dhall` and `packages.dhall` - these are copied from the template\n  project `template/*.dhall` and should not be directly modified (see the\n  following section)\n\n#### Steps for adding a new exercise\n\n- Create a new git branch for the exercise\n- Create a directory for the exercise in `exercises` folder with the name of the exercise\n- Create directories `examples`, `src` and `test` in your exercise directory\n- Use `bin/fetch-configlet \u0026\u0026 bin/configlet generate . --only exercise-name` to generate the `README.md`\n- Use `bin/configlet uuid` to generate a new UUID for the exercise\n- Add exercise details to `config.json`\n- Add tests to `test/Main.purs`\n- Add your solution to `examples/src/\u003cExerciseName\u003e.purs`\n- Run `bin/test.sh` to make sure all tests pass\n- Commit, push and make a pull request\n- Check that GitHub CI passes\n\n#### Reporting or fixing bugs\n\nTypical examples for a bug: A typo, a missing test case, an unclear or\nambiguous problem description.\n\n- If you are unsure whether you have really found a bug [just ask](#asking-for-help).\n- To report a bug you can [write an issue][new-issue]\n- If you already have a fix for it you may [write a pull request](#writing-a-pull-request).\n\n#### Reviewing issues and pull requests\n\nIf you have an opinion or feedback on work currently being done on this track\nplease do [write a comment][write-comment] for an [issue][issues] or a\n[pull request][prs]. Feedback is extremely useful to us.\n\n[write-comment]: https://help.github.com/articles/commenting-on-a-pull-request/\n[issues]: https://github.com/exercism/purescript/issue\n[prs]: https://github.com/exercism/purescript/pull\n\nPlease be detailed and include any links or arguments to support your opinion.\n\n#### Porting exercises\n\nHere is the [list of missing exercises][missing]. See here for more information\nabout [porting an exercise][porting]. Of course you can also add a totally new\nexercise, but it might be a good idea to first discuss it in one of [our\nforums](#asking-for-help).\n\n[missing]: http://exercism.io/languages/purescript/todo\n[porting]: https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#porting-an-exercise-to-another-language-track\n\n### Repository structure and conventions\n\n[Here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#track-anatomy)\nis a general description of all the files and directories that are not\nexplicitly described below.\n\n\n### Writing a pull request\nTo 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.\n\n### Purescript icon\nThe 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/).\nWe have adapted it, changing the colour scheme, for use on Exercism.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexercism%2Fpurescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexercism%2Fpurescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexercism%2Fpurescript/lists"}