Comments (12)
Awesome! I am not aware of any ports. I was thinking of coding it myself
in Flow, but haven't had the time. I am about to open-source the
Hack-based interpreter, which is strongly typed, so porting from that
should be fairly straightforward. Otherwise I would strongly recommend
using ES6 and using a transpiler in with npm. I would also be happy to
follow along and review intermediate versions of your port if you'd like.
On Tue, Jan 6, 2015 at 10:43 AM, Ernie [email protected] wrote:
Are you aware of any JS versions of Planout, whether fully fleshed out or
in flight? Wanted to check before I started an implementation. Thanks!—
Reply to this email directly or view it on GitHub
#40.
from planout.
Great, thanks. Please throw a note in here when the Hack-based interpreter is out. I'm not sure how much of Planout we'll need at this point - we may just want a very small subset of features/concepts to start. But if we end up needing more and more, I'll start throwing in some PRs/code reviews.
from planout.
What's the minimum subset of stuff required for an impl? Is it just everything minus namespaces? And my choosing of operators?
from planout.
I would say the Experiment object, the Assignment object, and the random assignment operators would be sufficient for running ad-hoc experiments using a native API. Check out the Ruby port -- it's pretty much as bare bones as you can get, but is still fully functional:
https://github.com/facebook/planout/tree/master/alpha/ruby
Of course, having the full interpreter would be awesome, but I wouldn't bother with Namespaces. We are going to completely revamp the namespaces pretty soon anyways.
from planout.
Thanks - would you be able to shed light on some of the expected changes on namespaces? We have a need for them so even what's there now would be useful for us.
from planout.
Basically, the namespace class is overloaded: it both manages and retrieves the experiments. The stuff that manages the experiments really ought to belong in its own class. Also, there are various things implemented by SimpleNamespace that should be part of the AbstractNamespace. For example, addExperiment could be written as part of the abstract base class, and rely on some method called allocateSegments. See discussion with @akalicki about proposed re-organization at vimeo/ABLincoln#1 (comment) and his PR, vimeo/ABLincoln#3. Note that none of these are fundamental changes to the way stuff works, it's just a matter of cleaning up the code underneath the hood.
from planout.
Got it thanks.
from planout.
btw, you might want to use the 'long' npm module. AFAIK the PlanOut hashing procedure requires more bits than JS natively supports.
from planout.
@eipark , feel free to throw up whatever you've got in alpha/. You'd be surprised what other people pick up once you put a little bit of code out there.
from planout.
Will do.
from planout.
@eipark See @rawls238's port in alpha/js. It's pretty comprehensive.
from planout.
For anyone who comes across this issue, HubSpot now maintains a JS port of planout, which is linked to on the PlanOut splash page also.
from planout.
Related Issues (20)
- Alpha ruby implementation HOT 4
- Inconsistencies for dictionaries
- Pausing an experiment HOT 1
- Log analysis
- Logging solutions for larger experiments?
- If PlanOut is deterministic, why I see different result from the tech talk video
- Namspaces
- error on running node planout.js with demo .planout file.
- Extending the Interpreter to Use Sqrt and Exp Operator. HOT 1
- Python 3.6 support HOT 1
- Update link to Golang interpreter under alpha submodule HOT 3
- Link to typescript version
- Add Swift implementation to alpha.
- There is a vulnerability in Flask 0.10.0 ,upgrade recommended
- There is a vulnerability in Werkzeug 0.9.6,upgrade recommended
- Issue with Webpack v5 HOT 1
- Code mentioned in installation instruction is of older Python version.
- Experiment Ramp Up
- Running experiments with different units of analysis in a common namespace. HOT 1
- Ruby implementation maintenance
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from planout.