Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note: Supersedes draft PR #181
Here is my attempt to continue with the work done here #127 in replacing bower/pulp with spago. I focused on getting CI setup to build and test the concept and practice exercises. The approach is more or less similar to what was being done for bower. A "spago" project uses two files
packages.dhall
(defines package-set) andspago.dhall
(project dependencies) for CI all exercises are built and tested using the same package set so that we can share the spago package cache (.spago) and build artifacts (output
).We gain some additional flexibility in that spago.dhall can now vary per exercise. This is nice because we can whittle down the exercise dependencies to the bare minimum and we save students some disk space. Also PureScript 0.14.x has started warning about unused dependencies... a topic for when we tackle porting the exercises to 0.14.x.
I chose to implement the build/test script in JavaScript (nodejs) as I couldn't find a nice (portable) way to handle kebab/pascal case conversion under Bash. I expect anyone working on PureScript to have nodejs installed anyway (I have no idea how the shell under windows situation is these days).
Work on updating the related documentation will follow in another PR as there is now quite some overlap with the official Exercism documentation and I'd like things to settle a bit a bit before tackling the docs. I expect there to be more changes as we migrate to PureScript 0.14.x especially in how we deal with dependencies.
Let me know if you have any questions. ;)