Sather is an object-oriented programming language from 1990, that has much is common with Eiffel. See the Wikipedia page and a Dr Dobbs Journal article for more.
It is a language I always wanted to learn, and an Exercism learning mode might provide the perfect way.
prototype track with LLM concept exercises.
prototype test runner
compiler ported to ISO C
2 Likes
It seems the compiler port holds the whole track together from running tests to students being able to work locally. Will track maintainers be expected to maintain that port going forward? What if the track goes unmaintained for whatever reason? Would someone else be reasonably able to jump in to maintain things with or without a LLM?
For the test runner, we can download a couple of files from https://ftp.gnu.org/gnu/sather/, perhaps apply a small patch, and build. For example, the garbage collector is distributed separately, and one Sather 1.2.2 C header assumes int is 32 bits except on ALPHA. (Sather 1.2.3 addresses that last one, but also changes the license to GPL 3.)
For students, following those build instructions might be an unnecessary burden. So then we could use the GDScript approach where students use the test runner, or we can instead point students to a repo that a maintainer or Exercism controls.
1 Like
Seems reasonable, thanks.
Sounds interesting! Track and test repo have been created.
1 Like