Wishlist: array language like K

Add the exercises:

  • leap
  • collatz-conjecture
  • spiral-matrix
  • pangram
  • raindrops

and updates current exercises

Nucleotide-count and collatz-conjecture are marked as "wip’ because i am not sure on how to treat the cases where an error is expected. I did not find a way to make the verbs to produce a domain error without calling the foreign 13!:8(45).

The track has now 12 exercises (10 of them completed).

1 Like

If some tests cases don’t make sense for your exercise, feel free to ignore them (best to add include = false in their tests.toml entry). Not all test cases make sense for a track, so feel free to ignore those.

In my view, these exercises necessitate a specific type of error—specifically, a domain error—rather than a general one.
To provoke this specific error, I utilize the 13!:8 debug foreign function. However, a newcomers probably will not encounter this function before a considerable period of time.
Considering these factors, I have reservations about including the error check, as it could potentially transform straightforward exercises into more challenging ones.

An option would be to include a note specifying that the function should return empty for illegal values. This mirrors the way the Haskell track handles some similat situations by returning Nothing

1 Like

That’s also an option. But you should feel free to omit the test cases and only have error checking for later exercises

Add exercises:

  • space-age
  • dnd-character
  • yacht

About the error cases, I think I found a good middle-ground solution. For the currently implemented exercises that deal with error cases, I am making the tests pass if the solution returns empty or the proper error for the exercise. Later, I try to fit the information about the error return could fit at the intructions as an extra option.

This week, I intend to meet the 20-exercise cap and then take a deeper look at the documentation. I’ll probably add some snippet examples to the instructions for exercises with multiple inputs too.

3 Likes

Reviewed. Just one tiny nit.

Sorry, I just accepted the changes

1 Like

Adds the exercises:

  • handshake,
  • anagram,
  • matching-brackets, and
  • pig-latin

with those we meet the 20-exercise cap.

*At the weekend i will review the docs as said earlier this week.

1 Like

Add instructions.append.md in some tracks
Update docs
Minor correction on exercises

@ErikSchierboom
Can you check if those files LICENSE and Makefile are correct?

later today i will make a post (similiar to that one by @axtens: Euphoria track pre launch ) to gather external feedback from the community.

Where do I see those in the PR?

I did not change them now. I just want to know if there is something to do with before lauch.

The LICENSE is the right one. As for the Makefile, I don’t know if it is used :man_shrugging:

1 Like
  • Add files to the github action for testing
  • Correct tests behaviour when an atom is expected and the solution returns empty

@ErikSchierboom
I could not make the github action for test works properly, Could you please review it and see if I’ve made any mistakes?

@andradefr8 The test script was missing the executable bit. I’ve fixed it in: GitHub Actions Testing Files and Bug Fixes by eNascimento178 · Pull Request #97 · exercism/j · GitHub

Other than that, nice work! I’ve approved

1 Like

I believe that with this PR i completed all steps listed here necessary for lauch.
If there is something else, let me know.

I’ve made this post to try get other reviews about.

1 Like

In this PR, I’ve get to 40 implemented exercises from the 48in24 event.

I believe the track is ready to go live on the site. @ErikSchierboom @iHiD, do you have any feedback or is there anything that should be addressed before the launch?

1 Like

I’ve done a deep dive and it definitely looks ready! There’s a couple of things you might want to check off before launching:

  1. No code run for passing tests

When a test fails, I get the code run part (which is really nice!)

When a test passes though, I get this:

I assume this is the message field being populated? If so, that field is one really used for error messages. Could you also show the code run bit for passing tests?

  1. Update the average run time of the test runner

The track’s config.json has this section:

"test_runner": {
  "average_run_time": 20
}

However, the test runner is incredibly fast and seems to finish almost instantaneously. Maybe set this value to 2?

  1. Add warning for jconsole conflict

The installation page (https://exercism.org/docs/tracks/j/installation) could maybe add a section how jconsole could potentially conflict with the Java Console, which uses the same name. This might be confusing to students. I would suggest to put this in an exercism/caution block (see Markdown Specification | Exercism's Docs).

  1. Running tests from console
    Is there a way to run the tests from the command-line without start a jconsole? If so, you probably want to document this in the docs/TESTS.md and exercises/shared/.docs/tests.md files. Additionally, you’d want to add support for J in the exercism CLI: cli/workspace/test_configurations.go at 753a4eb927d8602c785d09a82068237762f66f76 · exercism/cli · GitHub

  2. Configure lines of code counter
    See Lines of Code Counter | Exercism's Docs
    As J is not yet supported by the tokei tool which
    we use to count lines, you’d need to add an entry for J to our fork: tokei/languages.json at master · exercism/tokei · GitHub

  3. Configure snippet extractor
    See Snippet Extractor | Exercism's Docs

  4. Tweak docs/ABOUT.md
    The about document starts with “J is a strange language”. I feel like as a student, this might not entice me to join the track Maybe this should be something like “J is an unusual language” or something like that?

1 Like

This PR solves point 01. I’ll work on the others tomorrow.