arr-ai / arrai

The ultimate data engine.
http://arr.ai
Apache License 2.0
20 stars 15 forks source link

Do a jsonnet-to-arr.ai gap analysis #17

Open marcelocantos opened 4 years ago

marcelocantos commented 4 years ago

Map out what's:

  1. Easy in jsonnet and hard in arr.ai.
  2. Possible in jsonnet and impossible in arr.ai.

Think about language improvements to close any such gaps.

marcelocantos commented 4 years ago

Gap analysis

TODO

Feature Arr.ai implementation
x[begin:end:step] x(begin:end:step)
{…} + {…} (…) + (…) and {k: v…} + {k: v…}
assert //.assert
importstr //.file
error //.error

Under consideration

Feature Comments
super
self Partially supported via //.fn.fixt but might need more.
lazy semantics Partially supported but might need more.
:: and ::: Perhaps use -"abc" to denote hidden fields.

Out of scope

Feature Comments
comprehensions Not required. Arr.ai has its own rich transformation primitives. However, the macro system might enable comprehension syntax for those who prefer it (and in some use cases it might read better than the algebraic structure of the core language).
intra-object local Not planned. Not required with current semantics, but might resurface with the super and self features.
f(x) = expr Redundant and not beneficial to arr.ai, given the terseness of its lambda syntax.