{"slug": "show-hn-nola-a-typescript-superset-where-llm-inference-is-a-language-feature", "title": "Show HN: Nola – a TypeScript superset where LLM inference is a language feature", "summary": "A developer released Nola, a TypeScript superset that makes LLM inference a native language feature, built around three concepts: 'infer' to define the LLM inference context, 'Intent' to encapsulate data and instructions sent to the LLM, and 'ask' to resolve the Intent into a typed result. Nola currently supports two Intent operations — extracting data and calling a native TypeScript function — with more planned, and documentation is available at nola.sh/docs. The project was posted to Hacker News, where it had 1 point and 0 comments.", "body_md": "Hi HN, in a world where 100% of code is written by AI (phew, sometimes even 200%), there might still be a small percentage of us who want to write code in a more efficient way, especially when it comes to LLM interaction. I honestly tired converting my existing TS types into JsonSchemas or wrapping a function into tool object with all this bells and whistles around arguments.\n\nAnd I started experimenting with an idea - how can make LLM integration feels native? How can an LLM become part of the language / compiler, instead of being just one more external API that we have to integrate through yet another SDK?\n\nAnd I took the async / await / Promise idea as a starting point, ok so: 'async' - defines an asynchronous boundary, 'Promise' - represents an asynchronous intention, 'await' - resolves it.\n\nSo I started thinking, what if we could do something similar for LLMs? That led me to create Nola, a TypeScript superset built around three concepts:\n\n'infer' - like `async`, defines the LLM inference context,\n\n'Intent' - encapsulates the data and instructions that will be sent to the LLM,\n\n'ask' - like `await`, resolves the `Intent` into a typed result\n\nRight now, Intent represents two operations: extract the data and call the function (yes native TS function), but more to come soon.\n\nDocs at: [https://nola.sh/docs](https://nola.sh/docs)\n\nThanks for your honest feedback\n\nComments URL: [https://news.ycombinator.com/item?id=49646501](https://news.ycombinator.com/item?id=49646501)\n\nPoints: 1\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-nola-a-typescript-superset-where-llm-inference-is-a-language-feature", "canonical_source": "https://nola.sh/", "published_at": "2026-09-10 16:33:27+00:00", "updated_at": "2026-09-10 16:54:59.087364+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "large-language-models", "ai-products", "generative-ai"], "entities": ["Nola", "TypeScript", "Hacker News"], "alternates": {"html": "https://wpnews.pro/news/show-hn-nola-a-typescript-superset-where-llm-inference-is-a-language-feature", "markdown": "https://wpnews.pro/news/show-hn-nola-a-typescript-superset-where-llm-inference-is-a-language-feature.md", "text": "https://wpnews.pro/news/show-hn-nola-a-typescript-superset-where-llm-inference-is-a-language-feature.txt", "jsonld": "https://wpnews.pro/news/show-hn-nola-a-typescript-superset-where-llm-inference-is-a-language-feature.jsonld"}}