Show HN

Nola

by @emykhailenko

Nola – a TypeScript superset where LLM inference is a language feature 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. And 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? And 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. So 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: 'infer' - like `async`, defines the LLM inference context, 'Intent' - encapsulates the data and instructions that will be sent to the LLM, 'ask' - like `await`, resolves the `Intent` into a typed result Right now, Intent represents two operations: extract the data and call the function (yes native TS function), but more to come soon. Docs at: https://nola.sh/docs Thanks for your honest feedback

Discover more builders

Builderlust is an endless, joyful scroll of real projects people are shipping right now. Get the app to keep finding your next spark of inspiration.

📱 Coming soon to iOS & AndroidOpen in the app