codewars / runner

Issue tracker for Code Runner
34 stars 8 forks source link

Add Smalltalk #16

Open kazk opened 5 years ago

kazk commented 5 years ago


:+1: reaction might help.

ghost commented 4 years ago

The linked page is down. This link maybe suitable instead.

Steffan153 commented 3 years ago

What do you need help with actually?

kazk commented 3 years ago

@Steffan153 Added a checklist. So, figuring out how to test and produce the output we need.

Steffan153 commented 3 years ago

Alright, I'll work on that. The only test framework I've found is SUnit, but I'm not even completely sure it'll work. We might need to make our own one.

Steffan153 commented 3 years ago

Well... it doesn't look like it'll work.

  1. I couldn't get it working myself...
  2. if I could, the output wouldn't be anything useful to Codewars, or easily convertible.
  3. Basically all it does is let you assert stuff, so it's basically the equivalent of Test.expect, not providing useful output.

So should I write a custom test framework?

kazk commented 3 years ago

Is there anything else? I'd avoid starting from scratch if possible.

Maybe instead of GNU Smalltalk, add Squeak or Pharo? I'd expect there's something for those two.

Steffan153 commented 3 years ago

I thought Squeak/Pharo were Smalltalk... Well, for Squeak, same thing: https://wiki.squeak.org/squeak/541 Pharo: http://pharo.gforge.inria.fr/PBE1/PBE1ch8.html and https://jiaxianhua.github.io/smalltalk/2015/04/28/pharo-by-example-7 In any variation, they always use SUnit.

kazk commented 3 years ago

All of them are Smalltalk derivatives.

Squeak is an open source implementation derived from Smalltalk-80 Version 1 by way of Apple Smalltalk.

GNU Smalltalk is a free software implementation of a derivative of Smalltalk-80 from the GNU project.

Pharo Smalltalk is a fork of Squeak oriented toward research and use in commercial environments.

Smalltalk - Wikipedia

I don't know much about them, but from what I've read, Squeak is Smalltalk. Pharo is more inspired by Smalltalk. Are they different enough to be considered different language? I won't be supporting all three of them unless I'm convinced, so let's pick one.

https://github.com/markbush/SmalltalkTests looks straightforward to modify and make it work.

Steffan153 commented 3 years ago

I have GNU Smalltalk locally, but I don't think there's much of a difference between them. I think they're all the same language, just small differences (?) between them. No need to support them all tho.

Yeah, that one might work. I'll experiment with it.

Edit: I don't see an easy way to install that one without using Pharo actually... (not a problem?)

kazk commented 3 years ago

We can add Pharo instead. It looked like it has the most active users right now and has better tooling. If there's not much difference, I'd prefer a more modern and popular one, so more users will be interested to try and it's easier for them to set up locally.