facebookarchive / planout

PlanOut is a library and interpreter for designing online experiments.
http://facebook.github.io/planout
Other
1.68k stars 216 forks source link

Alpha ruby implementation #124

Open rosner opened 7 years ago

rosner commented 7 years ago

Hey,

I understand that the ruby implementation is a literal port of the reference implementation. I guess there's no concrete plan or roadmap to move that out of the alpha stage? Still maybe somebody can shed some light on what's missing for it to be moved out?

Just by reading through it I would expect better test coverage, docs and some tweaks here and there.

rosner commented 7 years ago

Ah I see there are also things missing like:

Plus lots of the experiments is missing. And the namespacing as well.

eytan commented 7 years ago

Hi @rosner,

I had ported it to Ruby as a proof of concept, and folks from the open-source community (e.g., @mohnish) added made it more of a complete gem package. As I understand it, the package is in use by some folks, but it doesn't have:

  1. A rigorous set of unit tests that match the reference implementation
  2. A working PlanOut interpreter (i.e., it only has the "native API"), and the basic operators necessary for using the PlanOut language.
  3. Documentation
  4. Verified feature parity with the reference implementation.
  5. A clear owner or set of people committed to maintaining the port.

For these reasons, I put it in the alpha/ directory. We don't have any plans to make these improvements, but if you are interested in contributing, I'd be happy to review and provide feedback on any PRs.

mohnish commented 7 years ago

@eytan I think I can get back to this soon. I am planning on rewriting some of the components and will try to make sure we meet all the 5 expectations as you've mentioned. In the first pass, along with the I added the unit tests and setup the CI.

I should be able to get back to working on it sometime towards the 3rd week or the last week of February. We can get this out of alpha stage and get it to a stable, much more usable state.

I'll keep pushing the code in to long running PR so that the community can also take a look at the developments around the ruby code.

mohnish commented 7 years ago

Also, looks like the travis setup was removed. So, I'll probably set the CI up on a different CI provider for the ruby implementation or see if travis supports multiple languages from the same repo.