exercism / pharo-smalltalk

Exercism exercises in Pharo.
https://exercism.org/tracks/pharo-smalltalk
MIT License
33 stars 28 forks source link

exercism v3 track #413

Open ghost opened 3 years ago

ghost commented 3 years ago

Helllo,

I asked here for some help to see if and how Pharo can be in exercism v3.

https://github.com/exercism/v3/issues/1909

Roelof

ghost commented 3 years ago

Answer from the exercism co founder :

In-browser coding isn't a compulsory requirement, and for Phara, from what I understand, it's an unachievable goal. So we'll have to do without.

So the main priority would starting to be building out Concept Exercises.

ghost commented 3 years ago

Maybe a seperate issue to discuss some concepts we want to learn our users. I was thinking about streams, class v instance variables

ghost commented 3 years ago

I thinking of these subjects in this order

or maybe use the same as ruby here : https://github.com/exercism/v3/tree/master/languages/ruby/exercises/concept then we have to make up a challenge for streams and one for double dispath and I can convert the same challenges to Pharo solutions.

samWson commented 3 years ago

@RoelofWobben thanks for getting this started. At this time it doesn't look like we need to change the high level details of how we are running this track. That's a good thing and something we don't have to worry about. For now I'm going to focus on making sure people can contribute to the track and make it easier to maintain this repo.

samWson commented 3 years ago

@RoelofWobben have you read Pharo by Example? It was the book that helped me understand some of Pharos core idioms and the object model. It could be useful for some inspiration on concept exercises.

In particular the chapter on Streams might be useful since they are used for collections and file access. Also The Pharo Object Model is pretty useful for understanding Pharo.

Other chapters like Morphic might not be useful since its being replaced by Bric and Blok in Pharo.

ghost commented 3 years ago

I did not read it . I did the Mooc and as first book I have read this one: https://books.pharo.org/learning-oop/ But I think I can read this book and see if we can make a challenge of it.

My plan if you agree is too port the strings and numbers concept exercises to Pharo and before I commit them to exercism discuss if I explain things right.

ghost commented 3 years ago

What do you think of this as first exercise. Lot;s of languges of the new track uses this as first exercise. Is this well written smalltalk or can I better change things so the user learns it the right way

https://www.dropbox.com/t/SQJ5wrELVH4dkEAv

samWson commented 3 years ago

It looks like a simple exercise in arithmetic which makes it a good introduction to TDD.

You could shorten Lasagna new totalTimeInMinutes: 4 timeInOven: 8 to Lasagna new totalMinutes: 4 ovenTime: 8. I haven't read the exercise background so I don't know what totalTimeInMinutes is representing? Is it total preparation time?

In any case this is a good start. Finish this exercise if you want but you don't need to make much more for the moment. We also need to know how the v3 exercises are going to fit in the repository, what the file structure of each exercise is etc. It will be useful having a small number of v3 exercises around to experiment with. Once we know more then we can start making more exercises.

ghost commented 3 years ago

yep, It is a good start but like I try to say we have to rewrite the generator so it outputs the exercise in the new format.

The new format is known..

.docs --- after.md
--- hints,md -- instructions.md -- introduction,md .meta -- example.st -- config,json -- design.md exercise.st exercise_test.st

so in the root there are the folders .meta ,.docs andt the exercise file and the test file

here you can find the instructions.md file which we can use also : https://github.com/exercism/v3/blob/master/languages/csharp/exercises/concept/basics/.docs/instructions.md and where is stated what a student should do to solve the exercise