Open kytrinyx opened 1 year ago
First two steps are done. A testing framework will have to be made. I am not able to click on the checkmarks yet.
@razetime You're listed as a maintainer in the exercism/bqn team, and the team has write access to this repository, so I'm not sure why you're not allowed to click on checkmarks yet. @m3m0ry are you able to click checkmarks? (You're the only other member of this team at the moment)
It was my mistake, I did not realize i wasn't added to the org after setting up 2FA. I can work with the repository now.
I’m not sure what the plan is to flesh out this roadmap are but I’ve been poking around a bit and found this spec for how the testing interface works. Posting here so it’s more handy.
I don’t know if we want to set up a kanban board but it seems to me that some of these tasks can be parallelized.
FWIW, I started poking around here. Will probably check out a couple of setups for the other languages.
[EDIT: I hit upon these links by Googling around, but it seems these are turned into published docs where all the links work. In any event, having a link here might be handy.]
Hello @gitonthescene . We are happy about any help. My roadmap is to create a few exercises. My main issue is that my BQN
skills are abysmal. I am still learning it. As such my primary goal was to provide a set of exercises (I think at least 20 is the limit) and tests for offline editing.
I am happy about any help. There are a few things to consider for the online editor.
So far I wanted to make a simplistic "test framework" with just asserts. If you look at the python track, they are generating their tests from the exercise's json.
As I said, with my glacial speed, I wanted to implement a few exercises and their tests manually first.
it seems these are turned into published docs
That's a good shout. I've updated my scripts so that we link to the published docs in the launch tracking issue for new tracks.
@m3m0ry - My feeling is that writing the actual tests will be the easiest hurdle to leap. I imagine once we have a framework that most of the contributions will be writing tests. From a pedagogical viewpoint tests written by someone very familiar with the language might be most useful.
I think designing a testing framework is a non-trivial task. There are a lot of models out there with JUnit seeming to be the most widespread. I don’t know that there is any existing unit test framework for BQN.
[EDIT: There is this which might serve as inspiration but it looks like the Excercism framework requires a particular form of output.]
It might be worth trying for TAP compliance.
Should we split out separate issues to discuss the various steps of the roadmap?
[EDIT: Inspiration from another array language!]
For syntax highlighting we can probably raid bqnpad code and maybe even rope in AndreyPopp for help though he seems less active on APL Farm lately.
TBH, I’m not really sure where syntax highlighting fits in to the Exercism framework but I’d guess it’s not the highest priority.
Hmm.. Have we decided to use CBQN over BQN.js?? Vice versa?
@m3m0ry - I had a look at the python test runner and it looks like the only json is the configuration file config.json
per lesson which simply points to the tests and doesn’t generate them.
For example this config file points to these tests.
Test runner: we will without doubt need to make our own test runner. Simple assertions work but i don't think they are enough for exercism. J has it's own unit testing library which is probably somewhere on @jsoftware.
Syntax Highlighting: Yes, we can steal from bqnpad. The required plugin is here, which we can directly use on codemirror in exercism.
Impl: We are without doubt using CBQN. CBQN is the most actively maintained, and it has all the I/O functions we require. updated the top post to show that.
@gitonthescene Yes, but these tests are generated by a scirpt. That's what I was talking about.
I am also not convinced that we need a full-blown test suite. Why wouldn't simple assertions work? Yes, then we don't have the fancy "x out of y tests passed", but is it necessary?
I would go for CBQN. But I also would target the offline version of the exercise, since I have not much experience with javascript and web stuff in general.
Sure, we can do all of those things proposed, but I know I have neither the time nor the skill to do them properly.
I'll just try to get a bunch of exercises going.
There are two parts to syntax highlighting:
@ErikSchierboom - Cool. @razetime, correct me if I’m wrong but I think you were suggesting that the code you linked is a codemirror plugin.
@m3m0ry - I opened up a new issue. Let’s move the discussion there to avoid having threaded conversations here eventually.
@kytrinyx @ErikSchierboom request to add @aecepoglu to the bqn team.
Done!
Done!
This issue helps keep track of the tasks you're working on towards launching this track.
The next steps are:
Once you've finished a task, you can check them in this list.
Questions
Please ask if you have any questions or if anything is confusing!