Hi there! I’m an active-when-I-can-be maintainer in some other tracks.
Can I be added as a maintainer for the Forth track?
Also can a track be created for dt? (https://dt.plumbing)
Hi there! I’m an active-when-I-can-be maintainer in some other tracks.
Can I be added as a maintainer for the Forth track?
Also can a track be created for dt? (https://dt.plumbing)
P.S. I plan to use Gforth (from GNU) as the reference Forth in examples and tests etc, but to keep the track general enough to accommodate any implementation of the ANS Forth standard
Is Gforth substantially different from 8th?
ANS Forth (which Gforth implements) is different from 8th. It’s sort of like Common Lisp vs Scheme, or a POSIX shell vs something like Fish or Elvish
Though there is a Forth standard (several, in fact), 8th does not adhere to it in any particulars, choosing instead to be inspired by Forth’s concepts while being more accessible to a wider audience. Most design decisions were made in the interest of keeping applications secure while providing freedom to accomplish normal programming tasks in a cross-platform and reasonable manner.
8th Manual
I’ve just added you to the Forth team.
Okay, that does make it sound like they’re different languages. Do you have some examples that show the difference between the two languages?
I haven’t used 8th personally, but from what I can tell the differences are pretty fundamental.
As a comparison, Forth is more like C, and 8th is more like C++ bundled with Boost.
There are also some non-technical differences:
Okay, that makes it sound like they’re different enough to warrant different tracks!
Looks like this has kind of stalled. Happy to jump in and help if you like.
Yes, please! I’ve had a pretty crazy last little while. I’m on my third company of the year, and also it’s summer and I got kids
I can still review things, but might have trouble contributing anything significant until my schedule is more stable,. Feel free to reach out to me @booniepepper
on discord too (either in Excercism’s discord, or if you’re in them a Forth or catlang server)
awesome. I will start taking a look. @ErikSchierboom Can I be added to the Forth group or how does that work?
I’ve added you to the team.
I opened an issue to create a test runner. I think that is the way I am supposed to do it.
I think based on the auto-reply, we should just ask here once we’re ready for a test runner or a representer repository. (edit:) Looks like instructions on bootstrapping a test runner are here: GitHub - exercism/generic-track
The test runner would be the runner on the website that evaluates a participant’s code and reports back results. (Success, failure, partial failure, syntax error, etc.) The idea is that it’s some docker-ized container that runs on Exercism’s cloud resources. Not sure how much you’ve looked into this, but I’ve used the forthy42/gforth
container before (https://hub.docker.com/r/forthy42/gforth) and its version of Gforth is more recent than what I can get from my Linux distro
For example here’s the test runner repo for the Zig language GitHub - exercism/zig-test-runner
I’d like to remove “dt” from the original post here, so this can just be about Forth. But I think too much time has passed for me to be able to edit it.
I can follow up on dt someday when I personally can make more free time, but I think it’ll be easier to get some people to rally around a Forth track
Just updated the title.
I just wanted to lend my moral support to adding gForth to Exercism’s language tracks. I don’t know Forth all that well, but I am fascinated by the simplicity and flexibility of the language.
Is it possible for learners to beta test the track or is it too early for that?
Beta test in what way? Tracks not live yet can’t be seen on the site by the public. Once the track is near launch, staff sets it up, so the track can be interacted with by other Exercism track maintainers. They can then work with the online editor, review docs, and give feedback before the track goes live.
If you’re not a maintainer, you can still access the code and documentation in the track’s GitHub repo at any time. If a test runner Docker image is available for this track, you can even use that locally to solve any implemented exercises in the repo. I know folks who have done that with the Arturo and Pyret tracks I’ve worked on.