tea-lang-org/tea-lang

[RFC] New Syntax Changes and Roadmap

shreyashnigam opened this issue · 0 comments

Hey guys,

As discussed in #82, A key goal for the coming weeks is unifying Tisane and Tea. This includes both packages having similar syntax. I started working on this about 3 weeks ago and wrote example scripts to describe the look and function of the new grammar (see examples ending with _new_syntax.py). The purpose of this RFC is to provide an update on progress and blockers.

What Works

  • Declaring variables
  • Initializing data
  • Defining an experiment or observational study
  • Defining assumptions

To test the new syntax, checkout ar_tv_tea_new_syntax.py in tea examples on the new_syntax branch. Everything except hypothesize is in the new grammar!

What doesn't work (and why)

Hypothesize New Syntax

Consider the following example of a hypothesis in the new syntax

results = tea.hypothesize(score, condition['AR'].greaterThan (condition['TV']))

They key challenge here is parsing the prediction. Currently, variables are stored as measures, a custom object that does not support []. As far as I know, it is not possible to override this operator. Should we think about other ways to express the hypothesis prediction?. Alternatively, we can make changes to the Measure class but that might disturb the subclassing

Next Steps

For next steps, I'd really appreciate it if you guys could take a look at the code and suggest how to proceed with hypothesis. The branch new_syntax contains the working parts of the new grammar. Let me know if you have any ideas on how to move forward!