Wishlist: array language like K

  • The label name in the generated JSON is synchronized with the description in canonical-data.json.
  • The use of helper files is simplified:
    • Order and task_id information will not be stored if it’s not necessary.
    • All file handling is now done in the test runner (previously, files were created by the test.ijs file in the solution and deleted either by the test runner or by the JE).

Tomorrow i’ll start to work on new exercises. I’ll try to catch the 48in24 calendar in next three or four weeks.
My list now is:

  • spiral-matrix — (Trying to find purely functional solution for this exercise F# who got me into J)
  • pangram
  • all-your-base — Maybe
    • Trivial solution but can be used to introduce some primitives:
      • Solution can be constructed with combinations of #., #:, p. and while..
    • Possible work around the need of three inputs:
      • Make it an adverb? which value u?
      • Make it a conjunction? u and v are the bases.
      • Boxed input containing the bases as left argument?
      • Boxed input containing the digits and base as right argument?
  • zebra-puzzle — Maybe
  • minesweeper
  • dnd-character
  • pig-latin — Maybe
    • Can’t think any of a solution not using REGEX whitouth going into extra verbosity
  • space-age
  • yacht
  • matching-brackets
  • rna-transcriptionDone
  • binary-search — Probably not
    • If you need to implemt this you would go for another language
  • secret-handshake — Maybe
    • Almost trivial solution
    • Probably as a concept using gerunds
  • anagram
    • Also trivial
    • Can be an introduction to indexings
  • kindergarten-garden
  • robot-simulator
  • knapsack
  • meetup

Next, my intent is to also include some easier exercises tied to concepts (like leap , collatz , raindrop ) and adapt the concept exercises from the F# track.

1 Like

Just to be clear, I would suggest to focus on just getting those initial 20+ practice exercises done just to be able to launch the track. After that, porting concept exercises sounds great!

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