- stack
- ghcup (needed for macOs)
It's recommended to install these packages using the brew
package manager.
At the root of the project, execute the following command:
stack build
-
Write a test case
testcase.hs
. The current format should use theProblem
data structure defined insrc/Grader.hs
. -
To evaluate a single submission
submission.hs
execute the command
./scripts/grader <PATH-TO-HASKELL-GRADER> testcase.hs submission.hs feedback with-errors <ENABLE-OVERWRITE>
To evaluate a several submissions in the directory submissions
execute the command
./scripts/grader <PATH-TO-HASKELL-GRADER> testcase.hs submissions feedback with-errors <ENABLE-OVERWRITE>
feeback
and with-errors
are directories where the feedback and copies of faulty submissions
is stored. <ENABLE-OVERWRITE>
is a variable that allows the grader to overwrite already existing feedback files by setting it to 1
. To disable this feature use 0
.
The following projects serve as inspiration for this project:
- haskell-autograder:
- Color support was taking from it.
- Overall design is similar but scores are given to each test instead of each problem.
- This project uses string comparisions to test submissions. Our project relies on the library hint to evaluate haskell code.
- haskelltester: