{"slug": "prela", "name": "Prela", "category": "databases", "category_name": "Databases", "description": "", "recommenders": 3, "commenters": 4, "warners": 0, "score": 3.089, "rising": 3.0, "first": "2026-08-22", "latest": "2026-09-28", "why": "I've been looking into Prela the last few days and really like it", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 1, "warn": 0}, "spark": [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I've been looking into Prela the last few days and really like it", "kind": "", "icon": false, "domain": "prela-lang.org", "github_repo": null, "official_url": "https://prela-lang.org", "pricing": "", "aliases": ["Prela", "prela"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 798001088, "item_id": 49875068, "url": "https://news.ycombinator.com/item?id=49875068", "by": "chombier", "date": "2026-09-28", "stance": "recommend", "quote": "this nice little database query language as a language library", "excerpt": "A few weeks back there was this nice little database query language as a language library [1] posted on HN, with the constraint that everything had to be 6NF. At the time I thought this would naturally fit in a data-oriented design/ECS system to run complex queries. I wonder whether anyone has tried this before and whether this actually works in practice? [1] https://prela-lang.org/tutorial/", "context": "", "use_case": "", "switched_from": "", "story": "Writing Efficient C++ Code (2013)"}, {"id": 791884080, "item_id": 49492755, "url": "https://news.ycombinator.com/item?id=49492755", "by": "andai", "date": "2026-08-29", "stance": "recommend", "quote": "I found it helpful to read it first and then go back to the article.", "excerpt": "At the bottom is the actual code for the \"language\", which is only 79 lines. I found it helpful to read it first and then go back to the article. (On my initial reading I was like, \"okay, but what is a Rel?\") https://github.com/remysucre/prela/blob/main/tutorial/prela.py", "context": "", "use_case": "learning a SQL alternative", "switched_from": "", "story": "A better SQL in 11 lines of code"}, {"id": 790440928, "item_id": 49402558, "url": "https://news.ycombinator.com/item?id=49402558", "by": "brof", "date": "2026-08-22", "stance": "recommend", "quote": "I've been looking into Prela the last few days and really like it", "excerpt": "I've been looking into Prela the last few days and really like it :) Conceptually, the two key operators `.select()` and `.and()` connect somewhat to the lineage of arrow notation [1], fork algebras [2], etc. Left-to-right composition: (>>>) :: (b -> c) -> (c -> d) -> (b -> d) Fanout: (&&&) :: (b -> c) -> (b -> d) -> (b -> (c, d)) The database-specific detail is enumerating the universe of entities to maintain shared", "context": "", "use_case": "", "switched_from": "", "story": "What if SELECT, FROM, WHERE were functions?"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["query language", "learning a sql alternative"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49491544", "title": "A better SQL in 11 lines of code", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49849409", "title": "Writing Efficient C++ Code (2013)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49371250", "title": "What if SELECT, FROM, WHERE were functions?", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"recommend": 2, "compare": 1}, "2026-09": {"recommend": 1}, "2026-10": {}}, "quotes": [{"id": 798001088, "item_id": 49875068, "url": "https://news.ycombinator.com/item?id=49875068", "by": "chombier", "date": "2026-09-28", "stance": "recommend", "quote": "this nice little database query language as a language library", "excerpt": "A few weeks back there was this nice little database query language as a language library [1] posted on HN, with the constraint that everything had to be 6NF. At the time I thought this would naturally fit in a data-oriented design/ECS system to run complex queries. I wonder whether anyone has tried this before and whether this actually works in practice? [1] https://prela-lang.org/tutorial/", "context": "", "use_case": "", "switched_from": "", "story": "Writing Efficient C++ Code (2013)"}, {"id": 791884336, "item_id": 49492771, "url": "https://news.ycombinator.com/item?id=49492771", "by": "bvrmn", "date": "2026-08-29", "stance": "compare", "quote": "Examples don't show much more composability comparing to SQL.", "excerpt": "Examples don't show much more composability comparing to SQL. Even more Prela is heavily based on tuples and has same operation semantics as SQL. Shameless plug: https://github.com/baverman/sqlbind-t", "context": "", "use_case": "query language", "switched_from": "", "story": "A better SQL in 11 lines of code"}, {"id": 791884080, "item_id": 49492755, "url": "https://news.ycombinator.com/item?id=49492755", "by": "andai", "date": "2026-08-29", "stance": "recommend", "quote": "I found it helpful to read it first and then go back to the article.", "excerpt": "At the bottom is the actual code for the \"language\", which is only 79 lines. I found it helpful to read it first and then go back to the article. (On my initial reading I was like, \"okay, but what is a Rel?\") https://github.com/remysucre/prela/blob/main/tutorial/prela.py", "context": "", "use_case": "learning a SQL alternative", "switched_from": "", "story": "A better SQL in 11 lines of code"}, {"id": 790440928, "item_id": 49402558, "url": "https://news.ycombinator.com/item?id=49402558", "by": "brof", "date": "2026-08-22", "stance": "recommend", "quote": "I've been looking into Prela the last few days and really like it", "excerpt": "I've been looking into Prela the last few days and really like it :) Conceptually, the two key operators `.select()` and `.and()` connect somewhat to the lineage of arrow notation [1], fork algebras [2], etc. Left-to-right composition: (>>>) :: (b -> c) -> (c -> d) -> (b -> d) Fanout: (&&&) :: (b -> c) -> (b -> d) -> (b -> (c, d)) The database-specific detail is enumerating the universe of entities to maintain shared", "context": "", "use_case": "", "switched_from": "", "story": "What if SELECT, FROM, WHERE were functions?"}]}