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

https://news.ycombinator.com/rss Hits: 10
Summary

The Elo Language A simple, well-designed, portable, and safe data expression language Elo compiles to JavaScript, Ruby, and SQL. Built for No-Code tools where non-technical users need to manipulate data easily and safely. = Simple by Design A pure data language: everything is a value, no reference semantics, no new. One equality operator that just works. Designed to be safe for non-technical users. 3x Truly Portable One expression compiles to semantically equivalent JavaScript, Ruby, and SQL. Frontend, backend, and database all speak the same data language. {} Built for Real Data First-class dates, times, and durations with intuitive syntax. Data schemas that validate and coerce input. Business logic that just works, everywhere. What Makes Elo Different Built for real-world data problems, Elo brings powerful features in a simple syntax let signup = D2024-06-15 in TODAY > signup + P30D First-Class Dates & Durations Dates, times, and durations are native types with intuitive literal syntax. Add 30 days to a date? Just write + P30D. No parsing, no conversion, no library imports. let Event = { name: String, date: Datetime, capacity: Int(c | c > 0) } in _ |> Event Data Schemas That Work Turn untrusted input into safe, validated data. Elo coerces and checks everything so your code always runs on data you can trust. _ |> filter(i ~> i.price > 100) |> map(i ~> i.price * 1.21) |> reduce(0, fn(a, b ~> a + b)) Functional & Portable Pipeline operators, lambdas, and a comprehensive standard library. Write once, compile to JavaScript, Ruby, and SQL—same semantics everywhere. guard positive: _.age > 0, adult: _.age >= 18 in 'Welcome!' Guards for Safe Reasoning Validate assumptions at runtime with labeled guards. Make your logic explicit, fail fast on invalid data, and reason confidently about what your code guarantees. orders |> restrict(o ~> o.status == 'pending') |> extend({total: o ~> o.qty * o.price}) |> project([.customer, .total]) Coming Soon: Relational Algebra Inspired by ...

First seen: 2026-01-11 21:59

Last seen: 2026-01-12 07:00