-
-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exercise template #4
Comments
Moving my last comment from old issue here: @ErikSchierboom How do other languages deal with additional types and functions provided? Do they put it in stub implementation file? |
@vzaliva Well, it depends. There are a couple of variants as far as I know:
Only in the third and fourth case is any actual code prepared for the user. There has been a discussion on this topic on the discussions repo, which shows that different tracks have different strategies. Basically, it comes down what the language track's maintainers feel is the best fit for their track. For the tracks I maintain (C#, F# and Scala), I feel that having a stub implementation file allows the users to not focus on the boring, repetitive parts (which an IDE can do for them), but instead focus on the actual problem itself. If having three files, or six files, or whatever makes sense for Coq: go for it! You should definitely not feel obligated to follow any other track, although you can of course take inspiration from their solutions :) Getting some sample exercises is a great idea. If you know any Coq enthusiasts, it might be useful to let them chip in with their thoughts too. |
In Coq many if not most problems may need some auxiliary code. For example, it may define a function or a type and ask to prove a theorem stating some properties of it. I think I would prefer to keep these auxiliary definitions outside of the file which user edits and submits for 2 reasons:
|
OK, here is my current thinking:
I've changed my 2 toy examples along these lines: https://github.com/vzaliva/coq-exercism-examples The remaining issue is whether we need Test file or not. |
Here is an example of an exercise which needs a test file: For other excericses test files not needed, as long as user solution compiles with Coq. I will remove them. So in conclusion, each exercise will have 1-3 files:
All *.v files present should compile within given timeout. If no error produced, the exercise considered to be passing unit tests and ready for submission. |
Looks good! |
I've also updated base TRACK_HINTS https://github.com/exercism/xcoq/blob/master/exercises/TRACK_HINTS.md |
( moving here discussion from exercism/generic-track#22 )
We need to decide how exercises will be presented. We discussed 3-file (setting, solution, test) vs 2-file (solution, test) approaches. Let us decide on one, prepare few sample exercises to test how it work.
The text was updated successfully, but these errors were encountered: