Kattis / problemtools

Tools to manage problem packages using the Kattis problem package format.
MIT License
101 stars 70 forks source link

Updated language config to match Kattis #161

Closed pehrsoderman closed 4 years ago

pehrsoderman commented 4 years ago

This updates the language config with two changes:

  1. Use pypy instead of cPython to run python both for Python 2 and Python 3.
  2. Include .jar files in the local directory for Java, to enable problems to have a .jar file.
austrin commented 4 years ago

I do not view this default language config that ships with problemtools as something that is intended to be in sync with whatever open.kattis.com happens to be using at the moment, but rather as some reasonable defaults that lets a user get started. Put differently, I don't think that configuration of a specific Kattis installation belongs in the problemtools code base -- such configuration (e.g. for open.kattis.com) should be handled as documented in https://github.com/kattis/problemtools#configuration

Because the premise of "matching Kattis" is in my view flawed, I will close this.

(There is another discussion one can have about what the most reasonable defaults are, and there the choice of cpython vs pypy is not really clear-cut, but that's a different issue.)

niemela commented 4 years ago

Because the premise of "matching Kattis" is in my view flawed

Agreed, that's a flawed argument.

I will close this.

That said, both of these changes makes sense on their own. I.e. not only because they are used on Kattis.

Is there any reason that CPython is a better default than Pypy? I would slightly lean towards the latter.

Allowing .jar files definitely seems like the correct thing to do to support "included code" properly. In fact, I would argue that it is simply an oversight that it has not already been done. That said, maybe there is some reason against?

simonlindholm commented 4 years ago

I do not view this default language config that ships with problemtools as something that is intended to be in sync with whatever open.kattis.com happens to be using at the moment, but rather as some reasonable defaults that lets a user get started. Put differently, I don't think that configuration of a specific Kattis installation belongs in the problemtools code base -- such configuration (e.g. for open.kattis.com) should be handled as documented in https://github.com/kattis/problemtools#configuration

In that case, can we have some documentation e.g. in the problemtools README about what configuration to use to match Kattis? Or can there be a config flag one can set once and for all to keep up to date with the Kattis problemtools configuration? Preparing Kattis problems is the only thing I use problemtools for, and I'm sure that's true for many of us.

RagnarGrootKoerkamp commented 2 years ago

Could this be revisited? Like Simon, I only ever use problemtools as preparation for uploading to Kattis. DOMjudge also moved to pypy3 as default python interpreter.

Also, there recently was a PR #168 to move to pypy3 in the dockerfile, so why not change the default config as well?

In the current situation, it's simpler for us to just delete python submissions that time out on CPython than to find where the language config is and how to properly update it.