{"slug": "ascent", "name": "Ascent", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 3, "warners": 0, "score": 2.389, "rising": -0.98, "first": "2025-11-04", "latest": "2025-11-06", "why": "I've also used ascent for a few random side projects in Rust which is very convenient.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 0, "warn": 0}, "spark": [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I've also used ascent for a few random side projects in Rust which is very convenient.", "kind": "", "icon": false, "domain": null, "github_repo": "github.com/s-arash/ascent", "official_url": "https://github.com/s-arash/ascent", "pricing": "", "aliases": ["Ascent"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 733408321, "item_id": 45838020, "url": "https://news.ycombinator.com/item?id=45838020", "by": "kmicinski", "date": "2025-11-06", "stance": "recommend", "quote": "I had worse performance with Souffl\u00e9 than Ascent for my program for some query-planning reason", "excerpt": "> - I had worse performance with Souffl\u00e9 than Ascent for my program for some query-planning reason that I couldn't figure out. I don't really know why; see https://github.com/souffle-lang/souffle/discussions/2557 I think the basic issue is that ADTs are simply not indexed--so to the degree that you write a query that would necessitate an index on a subtree of an ADT, you will face asymptotic blowup, as the way ADTs w", "context": "", "use_case": "", "switched_from": "", "story": "Optimizing Datalog for the GPU"}, {"id": 733308401, "item_id": 45831775, "url": "https://news.ycombinator.com/item?id=45831775", "by": "arxanas", "date": "2025-11-05", "stance": "recommend", "quote": "I had worse performance with Souffl\u00e9 than Ascent", "excerpt": "It's quite possible that I have different, smaller-scale problems than you have! So my feedback might not be as relevant I wrote detailed commentary here: https://github.com/s-arash/ascent/discussions/72 Re Rust bindings and your specific comment: - Deploying Souffl\u00e9 and doing FFI is much more difficult for me in practice, just in terms of the overhead to set up a working build. (I'm not going to be able to justify s", "context": "", "use_case": "", "switched_from": "", "story": "Optimizing Datalog for the GPU"}, {"id": 733103760, "item_id": 45818985, "url": "https://news.ycombinator.com/item?id=45818985", "by": "arxanas", "date": "2025-11-04", "stance": "recommend", "quote": "Recommend Ascent (Rust only, but supports targeting WASM)", "excerpt": "Just gave a talk about this: https://blog.waleedkhan.name/what-if-sql-were-good/ - Recommend Ascent (Rust only, but supports targeting WASM) - Souffl\u00e9: good, but too hard to integrate into existing systems; lots of ergonomic problems in comparison to Ascent (can elaborate) - CozoDB: really cool but seems to be abandoned - Logica: have not tried it yet", "context": "", "use_case": "", "switched_from": "", "story": "Optimizing Datalog for the GPU"}, {"id": 733071361, "item_id": 45816960, "url": "https://news.ycombinator.com/item?id=45816960", "by": "chc4", "date": "2025-11-04", "stance": "recommend", "quote": "I've also used ascent for a few random side projects in Rust which is very convenient.", "excerpt": "CodeQL compiles to the Souffle datalog engine and I use it for static analysis. I've also used ascent for a few random side projects in Rust which is very convenient.", "context": "", "use_case": "Side projects", "switched_from": "", "story": "Optimizing Datalog for the GPU"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["side projects"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=45811447", "title": "Optimizing Datalog for the GPU", "mentions": 4}], "sentiment_by_month": {"2025-11": {"recommend": 3}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 733408321, "item_id": 45838020, "url": "https://news.ycombinator.com/item?id=45838020", "by": "kmicinski", "date": "2025-11-06", "stance": "recommend", "quote": "I had worse performance with Souffl\u00e9 than Ascent for my program for some query-planning reason", "excerpt": "> - I had worse performance with Souffl\u00e9 than Ascent for my program for some query-planning reason that I couldn't figure out. I don't really know why; see https://github.com/souffle-lang/souffle/discussions/2557 I think the basic issue is that ADTs are simply not indexed--so to the degree that you write a query that would necessitate an index on a subtree of an ADT, you will face asymptotic blowup, as the way ADTs w", "context": "", "use_case": "", "switched_from": "", "story": "Optimizing Datalog for the GPU"}, {"id": 733308401, "item_id": 45831775, "url": "https://news.ycombinator.com/item?id=45831775", "by": "arxanas", "date": "2025-11-05", "stance": "recommend", "quote": "I had worse performance with Souffl\u00e9 than Ascent", "excerpt": "It's quite possible that I have different, smaller-scale problems than you have! So my feedback might not be as relevant I wrote detailed commentary here: https://github.com/s-arash/ascent/discussions/72 Re Rust bindings and your specific comment: - Deploying Souffl\u00e9 and doing FFI is much more difficult for me in practice, just in terms of the overhead to set up a working build. (I'm not going to be able to justify s", "context": "", "use_case": "", "switched_from": "", "story": "Optimizing Datalog for the GPU"}, {"id": 733103760, "item_id": 45818985, "url": "https://news.ycombinator.com/item?id=45818985", "by": "arxanas", "date": "2025-11-04", "stance": "recommend", "quote": "Recommend Ascent (Rust only, but supports targeting WASM)", "excerpt": "Just gave a talk about this: https://blog.waleedkhan.name/what-if-sql-were-good/ - Recommend Ascent (Rust only, but supports targeting WASM) - Souffl\u00e9: good, but too hard to integrate into existing systems; lots of ergonomic problems in comparison to Ascent (can elaborate) - CozoDB: really cool but seems to be abandoned - Logica: have not tried it yet", "context": "", "use_case": "", "switched_from": "", "story": "Optimizing Datalog for the GPU"}, {"id": 733071361, "item_id": 45816960, "url": "https://news.ycombinator.com/item?id=45816960", "by": "chc4", "date": "2025-11-04", "stance": "recommend", "quote": "I've also used ascent for a few random side projects in Rust which is very convenient.", "excerpt": "CodeQL compiles to the Souffle datalog engine and I use it for static analysis. I've also used ascent for a few random side projects in Rust which is very convenient.", "context": "", "use_case": "Side projects", "switched_from": "", "story": "Optimizing Datalog for the GPU"}]}