{"slug": "malloy", "name": "Malloy", "category": "observability", "category_name": "Monitoring and analytics", "description": "", "recommenders": 2, "commenters": 2, "warners": 0, "score": 1.979, "rising": 1.67, "first": "2026-01-16", "latest": "2026-10-23", "why": "Malloy is much easier to read and write (just as TypeScript is) because it has a built in semantic model", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 0, "compare": 0, "warn": 0}, "spark": [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 2], "listed": false, "loved": [], "caveat": "", "short_quote": "Malloy is much easier to read and write (just as TypeScript is) because it has a built in semantic model", "icon": false, "domain": "malloydata.dev", "github_repo": null, "official_url": "https://malloydata.dev", "pricing": "", "aliases": ["Malloy"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 803460385, "item_id": 50216274, "url": "https://news.ycombinator.com/item?id=50216274", "by": "anon84873628", "date": "2026-10-23", "stance": "recommend", "quote": "Malloy is built by the original Looker founder and friends, essentially as their next-gen \"what would we do differently now\" project.", "excerpt": "If you like Looker semantic models and Git workflow, but want to build your own AI-BI platform now, I recommend looking at Credible Data as the engine: https://www.credibledata.com/ (I have no connection to the company, just know the industry well.) Credible uses Malloy as the semantic model language. Malloy is built by the original Looker founder and friends, essentially as their next-gen \"what would we do different", "context": "", "use_case": "semantic model language", "switched_from": "", "story": "Can we replace a $150k Looker with a bucket of HTML files?"}, {"id": 799671281, "item_id": 49979455, "url": "https://news.ycombinator.com/item?id=49979455", "by": "mrtimo", "date": "2026-10-06", "stance": "recommend", "quote": "Malloy is much easier to read and write (just as TypeScript is) because it has a built in semantic model", "excerpt": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code. OTOH, With DuckDB with one SQL statement I can replace 40+ lines of polars/pandas. You may reply, SQL isn't as easy to understand! Fair point, it's a declarative language... which is why I use Malloy. Malloy is to TypeScript as Javascript is to SQL. Malloy is much easier to read and write (just as TypeScript is) because it has a ", "context": "", "use_case": "semantic data modeling and queries", "switched_from": "", "story": "Polars 2.0"}, {"id": 795326000, "item_id": 49707875, "url": "https://news.ycombinator.com/item?id=49707875", "by": "mrtimo", "date": "2026-09-15", "stance": "recommend", "quote": "Malloy is an alternative to dbt", "excerpt": "Malloy is an alternative to dbt, they have a similar product called Malloyyo [1], and Publisher [3], you can also the chat with HN data demo they have [4]. DBTCharts says you can serve charts locally, but it seems they want you to use their hosting service in production. Whereas, Malloyyo / Publisher are free to use anywhere. If you like college football checkout how I visualize drive data in [2], made with Malloyyo.", "context": "", "use_case": "data modeling and charts", "switched_from": "", "story": "Charts built for Chat"}, {"id": 783093874, "item_id": 48943367, "url": "https://news.ycombinator.com/item?id=48943367", "by": "mrtimo", "date": "2026-07-16", "stance": "recommend", "quote": "Malloy which puts a semantic layer on top of your data for better LLM understanding.", "excerpt": "Thanks for sharing, and thanks for making the video you shared. A couple thoughts. Is PostGIS king in this area? I've been liking duckDB as it does not require a server. Is there a good alternative to PostGIS in the duckDB world? Maybe just plain GeoParquet files read in through duckDB? In the example in your video are any special GEOMETRY functions being used in the underlying SQL? Or, could your data just have been", "context": "", "use_case": "semantic layer for LLM data access", "switched_from": "", "story": "Geosql: A Claude/Codex skill for geospatial data"}, {"id": 746379825, "item_id": 46648739, "url": "https://news.ycombinator.com/item?id=46648739", "by": "mrtimo", "date": "2026-01-16", "stance": "recommend", "quote": "Malloy makes SQL 10x easier to write because of its semantic nature.", "excerpt": "What I love about duckdb: -- Support for .parquet, .json, .csv (note: Spotify listening history comes in a multiple .json files, something fun to play with). -- Support for glob reading, like: select * from 'tsa20*.csv' - so you can read hundreds of files (any type of file!) as if they were one file. -- if the files don't have the same schema, union_by_name is amazing. -- The .csv parser is amazing. Auto assigns type", "context": "", "use_case": "semantic data modeling and queries", "switched_from": "", "story": "Why DuckDB is my first choice for data processing"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["semantic data modeling and queries", "semantic model language", "data modeling and charts", "semantic layer for llm data access"], "compared": [{"slug": "duckdb", "name": "DuckDB", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50212320", "title": "Can we replace a $150k Looker with a bucket of HTML files?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49977177", "title": "Polars 2.0", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49704246", "title": "Charts built for Chat", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48829242", "title": "Geosql: A Claude/Codex skill for geospatial data", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46645176", "title": "Why DuckDB is my first choice for data processing", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {"recommend": 1}, "2026-08": {}, "2026-09": {"recommend": 1}, "2026-10": {"recommend": 2}}, "quotes": [{"id": 803460385, "item_id": 50216274, "url": "https://news.ycombinator.com/item?id=50216274", "by": "anon84873628", "date": "2026-10-23", "stance": "recommend", "quote": "Malloy is built by the original Looker founder and friends, essentially as their next-gen \"what would we do differently now\" project.", "excerpt": "If you like Looker semantic models and Git workflow, but want to build your own AI-BI platform now, I recommend looking at Credible Data as the engine: https://www.credibledata.com/ (I have no connection to the company, just know the industry well.) Credible uses Malloy as the semantic model language. Malloy is built by the original Looker founder and friends, essentially as their next-gen \"what would we do different", "context": "", "use_case": "semantic model language", "switched_from": "", "story": "Can we replace a $150k Looker with a bucket of HTML files?"}, {"id": 799671281, "item_id": 49979455, "url": "https://news.ycombinator.com/item?id=49979455", "by": "mrtimo", "date": "2026-10-06", "stance": "recommend", "quote": "Malloy is much easier to read and write (just as TypeScript is) because it has a built in semantic model", "excerpt": "I can use pandas to clean a dataset, but each cleaning task is usually one line of code. OTOH, With DuckDB with one SQL statement I can replace 40+ lines of polars/pandas. You may reply, SQL isn't as easy to understand! Fair point, it's a declarative language... which is why I use Malloy. Malloy is to TypeScript as Javascript is to SQL. Malloy is much easier to read and write (just as TypeScript is) because it has a ", "context": "", "use_case": "semantic data modeling and queries", "switched_from": "", "story": "Polars 2.0"}, {"id": 795326000, "item_id": 49707875, "url": "https://news.ycombinator.com/item?id=49707875", "by": "mrtimo", "date": "2026-09-15", "stance": "recommend", "quote": "Malloy is an alternative to dbt", "excerpt": "Malloy is an alternative to dbt, they have a similar product called Malloyyo [1], and Publisher [3], you can also the chat with HN data demo they have [4]. DBTCharts says you can serve charts locally, but it seems they want you to use their hosting service in production. Whereas, Malloyyo / Publisher are free to use anywhere. If you like college football checkout how I visualize drive data in [2], made with Malloyyo.", "context": "", "use_case": "data modeling and charts", "switched_from": "", "story": "Charts built for Chat"}, {"id": 783093874, "item_id": 48943367, "url": "https://news.ycombinator.com/item?id=48943367", "by": "mrtimo", "date": "2026-07-16", "stance": "recommend", "quote": "Malloy which puts a semantic layer on top of your data for better LLM understanding.", "excerpt": "Thanks for sharing, and thanks for making the video you shared. A couple thoughts. Is PostGIS king in this area? I've been liking duckDB as it does not require a server. Is there a good alternative to PostGIS in the duckDB world? Maybe just plain GeoParquet files read in through duckDB? In the example in your video are any special GEOMETRY functions being used in the underlying SQL? Or, could your data just have been", "context": "", "use_case": "semantic layer for LLM data access", "switched_from": "", "story": "Geosql: A Claude/Codex skill for geospatial data"}, {"id": 746379825, "item_id": 46648739, "url": "https://news.ycombinator.com/item?id=46648739", "by": "mrtimo", "date": "2026-01-16", "stance": "recommend", "quote": "Malloy makes SQL 10x easier to write because of its semantic nature.", "excerpt": "What I love about duckdb: -- Support for .parquet, .json, .csv (note: Spotify listening history comes in a multiple .json files, something fun to play with). -- Support for glob reading, like: select * from 'tsa20*.csv' - so you can read hundreds of files (any type of file!) as if they were one file. -- if the files don't have the same schema, union_by_name is amazing. -- The .csv parser is amazing. Auto assigns type", "context": "", "use_case": "semantic data modeling and queries", "switched_from": "", "story": "Why DuckDB is my first choice for data processing"}]}