6 ms·
Show HN: 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 https://nola.sh/docs
Thanks for your honest feedback
- nateb2022 8d agoLove the idea but I can't help but think of this as RCE as a feature haha
- emykhailenko 7d ago[dead]
- softwarewright 8d agoThis is a good approach. I am also am trying to integrate ML and AI into a language as first class concepts, but currently more focused on the ML side, but also using inference. https://sw-ml-study.github.io/sw-mlpl/ https://sw-ml-study.github.io/sw-mlpl/ Nola asks: "What if calling an LLM were a language primitive?" sw-MLPL asks: "What if the mathematical operations used to build and understand ML were language primitives?" Your approach shows some added some value that I might try to incorporate into my ML array language. Nola puts the LLM into the language. sw-MLPL puts the math of ML into the language.