New exercise: the Nonattacking Queens Problem. #12
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.
This exercise uses the nondeterminism monad API, whose implementation has been the subject of several other exercises.
I have some problems with grading the last two questions (6-7). Grading works when
learn-ocaml
is executed in batch mode, with a timeout of 5 seconds. (I depend on the timeout mechanism to rule out a naïve solution to Question 7.) However, in the browser, I have several problems/questions:How do I control the timeout value? I need to set it appropriately, so that a correct solution to Question 7 is accepted and a naïve solution is rejected.
How do I control the maximum stack size? The fact that tail recursion is not properly implemented causes even a correct solution to fail for very small values of
n
. This is problematic, as I would like to try larger values ofn
-- this is precisely how I can verify that the student's code is efficient.