70

Elo – A data expression language which compiles to JavaScript, Ruby, and SQL

Love the idea, but I don't think this "built for [...] non-technical users" works. All the examples were more confusing to me vs a regular programming language and definitely not accessible to non-technical users.

Also, why would I want to compile to multiple languages? If I'm building a no-code platform, I won't bother supporting 3 different languages since I'm the only one seeing the code.

8 hours agoh1fra

Yeah, P30D as presumably intuitive to non-technical users has me chuckling

Also, knowing that TODAY > signup + P30D transpiles to TODAY > signup + 30.days in Ruby. Which one is more readable?

6 hours agoswrobel

Is this even valid ruby? Doesn't it need Rails-specific Active Support to work?

3 hours agoElectricalUnion

What would I use this for? Everything in the examples is pretty easy to do in scripting languages like Python, JS, and Ruby.

22 minutes agocjohnson318

Maybe the most incredible part – did Claude write a recursive descent parser from scratch for this? https://github.com/enspirit/elo/blob/9f07fefcdf65c169089f123...

Not that it's super complex, but I'm surprised it didn't pick up an npm package. I wrote tarsec[1] and have been eyeing ohmjs[2]. And of course nearley is a classic.

[1] https://github.com/egonSchiele/tarsec [2] https://ohmjs.org [3] https://nearley.js.org

5 hours agoegonschiele

That git commit is very impressive (for Claude)

Edit: Oh, I think the main dev is just using Claude to do the commits (I guess to summarise changes, etc). It does not mean that Claude wrote all that code.

4 hours agogatapia2

FWIW, at the bottom of the landing page they credit Claude for “every line of code, tests, and docs”

an hour agogeoffschmidt

Third example on the site does not in fact compile to SQL

9 hours agoLevitating

Targeting Python, Ruby, and SQL seems impossible if you want certain features.

7 hours agofastball

This looks perfect for people who desire terseness above all. The examples make my head hurt.

5 hours agoNetOpWibby

I really like this idea! I wish I knew other data expression engines for js.

I feel like adding filtering languages into our http endpoints is one of those forever bespoke tasks. This is probably not the right form for tackling that problem, since it is a fairly complex query language & processor and doesn't cleanly map to something we'd use in a URL query string. But it makes me miss odata a little bit. And it makes me wish there were more visible popular options for data expression languages.