<!channel> Announcing Early Access to a Major New ...
# general
g
<!channel> Announcing Early Access to a Major New Feature! It has been difficult keeping this one quiet but the biggest change to Tines since the Story Editor was launched is coming soon and we’d like the Community to be the first to try it. In answer to the question “can we do better than Liquid?”, we’d like to introduce Formulas! Oh no, not another language to learn, I hear you cry. Except it isn’t. Have you ever used Excel? Or Google Sheets? Or, dare I say it, Lotus 1-2-3? Then you already know Formulas. We’re replacing Liquid with a syntax that billions of people have used every day. Here’s a simple example of Liquid and its equivalent in Formulas.
// liquid
"now" | date: '%s' | minus: 86400 | date: '%Y-%m-%dT%l:%M:%S%z'
// formula
DATE(DATE("now", "%s") - 24 * 60 * 60, "%Y-%m-%dT%l:%M:%S%z")
Before we talk about migration paths and timelines, we’d really love to get your feedback on Formulas in a non-production environment. So just pop your name and email in this Form and we’ll get you setup immediately. If you’d like to read some early documentation then check out: • Formulas GuideFormulas for Liquid Users We can’t wait for everyone to get started on Formulas. As soon as you see how easy it is to understand, read (and write!), you’ll be an instant convert.
f
Would liquid still be an option? I actually like it quite a bit better than excel syntax. I come from more of a coding background, but still I find it easier to read.
g
@fancy-match-39791 In the short term Liquid is not going away. But the plan is to replace it. Formulas is more than Excel and is intended to be at least functionally equivalent to Liquid. There is already a tool available which automatically converts Liquid to Formulas and we've only hit a tiny number of edge cases it hasn't been able to handle so far.
f
Ok. It sounds like a plan. I'd love for liquid to stick around but I will trust this will work as well. I just think it's considerably less readable
g
Interested in a blog post/more info comparing the 2 and the rationale for the change. Comparison of functions and pros of the change.
g
@green-architect-4647 That will all come with the launch. This is a preview to get the Community's hands-on feedback.
m
My first thought was that nested formulas would be a nightmare (like they are in Excel and Sheets).... but it looks like you've covered that with the ability to use a similar pipe syntax.
g
@microscopic-jelly-63096 Yes I've been using the pipes a lot more than nesting myself.
l
@gorgeous-soccer-85989 Did you build this yourselves or is this based on an open source project?
g
@lively-engineer-91047 All built from scratch by our Engineering team.
b
@lively-engineer-91047 one dependency I believe the team are using (and love) is Lezer – which we’re now sponsoring to say thanks! https://www.tines.com/blog/sponsoring-the-lezer-parser-system. (But Conor’s absolutely right that this is something we’ve built ourselves.)
l
Fun thing to try: a deeply nested DATE(DATE(DATE(DATE...) and see if it blows things up. It's the most common parser bug, no limits on nested expression, exhausts the stack and can kill the process by design (dependent on language implementation)
c
Thanks John, we limit expression nesting level to 1000, so I think we’re covered here.
l
👍