On 7 August 2018 at 20:01, Tim Mackinnon <tim@testit.works> wrote:
Hi guys - I���ve been hammering on the exercism project to get pharo shining over there��� its been a good side distraction (there is lots of energy in that community to) and its made me really push my use of Iceberg & git as well as learn some fo the newish file reference stuff (still getting good at that - but like the approach),

Anyway - I���ve got an Alpha working, and users can pull down a zero conf pharo image and eval a little script that will get them up and running (which is pretty slick).

So the story then goes - Exercism is trying to simulate TDD and help you learn a new language (aka Pharo or Go or Python etc). To this end, they���ve got an active community building up little test exercises with suites of tests that new users can run to help them learn the syntax/essence of the language track they���ve signed up to. You run the tests, develop your solution and then submit it to a community to get feedback and then progress.

Pretty standard - we can play in this pond too - and it turns out that Tonel actually makes it pretty easy to submit readable solutions that will fit on their website. YAY.

The trouble is - when you pull down a new exercise - I use the TonelReader to pull the code into your image - and I thought it would be cute to just pull in the TestCase so that users can simulate the full TDD cycle - where you can create things in the debugger��� this is where it all began right?

So you hit a clanger when you do this - and in a way its a bit of a legacy thing we���ve carried around (and possibly should fix better). When Tonel reads in the TesCase, it normally will reference a class this isn���t there (I���ve deliberately left the solution out). It does the right thing and put a nil placeholder in the code so that it can read it in.

For the purpose of Exercism, I think its reasonable for any class referenced by the TestCase to be loaded as an empty stub.����
Its not really giving the too much of a head start.�� If they miss seeing the magic of interactively auto-creating a class, oh well, there is
plenty of other magic to show them.�� ��And if a solution needs a second class, then they might be exposed to it then. KISS.

cheers -ben��