Polydera

AGENT-NATIVE LANGUAGE AND RUNTIME

Luna.

Turn your software into an agent-native environment.

An agent-native application is one an agent can inhabit — discover it, work it, and extend it from the inside. The engineer who spends a week preparing a model, the technician who builds every case by hand: with Luna, that expertise lives inside your product — because the application itself is the agent.

FastSafeStatically typedDeterministicEmbeddable

WHAT LUNA IS

More than an embeddable language.

Any application can embed a scripting language. Scripts run when called, errors surface at run time, and whatever they touch is simply changed. Luna is built for something else: an expert working inside the application — and extending it when the work needs more. Its first act is asking: the application describes itself, and a fresh agent can be dropped in and learn it in minutes.

A compiler lives in the product. Everything an agent writes is fully checked before it can run — types, calls, effects, even termination — then shaped into retained bytecode. A mistake refuses with a readable sentence instead of failing in front of a user. Nothing unchecked ever executes.

The runtime is the sandbox. The agent does not run loose in your process — it lives inside Luna's runtime, and everything it does happens there. Experiments clean up after themselves; live motion leaves no trace; what someone deliberately keeps lands as one numbered act in a record the whole team — human and agent — shares, can read, walk backward, and replay.

MADE FOR SCIENTIFIC COMPUTING

Easy to embed. Fast to run.

A program compiles once into retained bytecode with exact types: numbers live unboxed in native slots, a loop runs as the counted branch a hand would write, and nothing is checked again while it runs.

The shapes are native — dense N-dimensional arrays and jagged blocks over contiguous typed buffers — and parallel: true is one word that changes time and nothing else. That is what fast experiments are made of: scientific and engineering computation, sketched in the running product, answered at near-native speed.

See the benchmarks
See the native arrays
ONE ALGORITHM / BOUNDING-BOX TREE
Luna1.5×
C++1×
PUC-Lua 5.523×
CPython16×

The same algorithm in four languages, every answer bit-identical. Time as a multiple of hand-written C++, which is 1×; lower is better. An input of 100,352 faces on an Apple M4 Max; Lua is standard PUC-Lua, not LuaJIT. The other algorithms and their methods are on the language page.

array · jaggednative typed buffers
array<float>[n, 3]
3.01.04.01.05.09.0
dense · a window per axis
jagged<int> {offsets, data}
037
0122134
blocks of any length · one flat buffer
Both are language types over contiguous typed memory — nothing boxed, nothing copied per block.
EMBEDDABLE

Small enough to ship inside.

One binary is the whole system — the compiler, the runtime, the executor, the terminal where people and agents meet, and the MCP door agents connect through. There is no AI model inside: Luna is the environment agents inhabit; the model stays outside. Each figure below is a measurement, stated with what it measures.

11.6 MB
One client binary, carrying the compiler, the runtime, the host and the console.
34 MB
A complete install.
5.9 ms
From process start, through compiling and running a first program, to exit.
46 µs
To load a compiled module image.
None
No external dependencies: the parallel runtime, oneTBB, rides inside.

Bind your own code in one step.

A native domain enters Luna through one typed contract: the type's identity, its layout and lifecycle laws, and each operation's signature with its native implementation, installed in a single transaction. What comes out are full Luna citizens: signatures an agent can discover, documentation, and tools built over them, while the implementation stays private behind the contract.

See how the host chooses what the language reaches
ONE MODULE TRANSACTIONimplementation stays private
YOUR C++A type and its operations

Private implementation.

ONE TYPED CONTRACT
  • the type's identity
  • layout and lifecycle laws
  • each operation's signature
  • its native invoker
LUNA CITIZENS
  • discoverable signatures
  • documentation
  • tools built over them
Adding a domain never edits the parser, the compiler or the executor.

THE PACKAGED EXPERT

Your application becomes the agent.

Expert work lives inside applications: days of preparation, judgment, and repetition by the people who know the tool best. That expert can now ship with the product — and it is not bound by the UI. It works at program speed — trying things in its own workspace, with every attempt checked, contained, and recorded.

01 / IT WORKSIt does the job

The same tools and workflows your users see, driven end to end: prepared, inspected, finished.

02 / IT BUILDSIt makes the missing step

A workflow, a tool, a checked function — written like an expert engineer would, published into the running product for end users.

03 / IT SERVESIt meets your users in your UI

The application becomes the interaction surface between your end users and their expert. They cooperate in the product, not beside it.

An agent given buttons stalls where no button fits, and hands the job back.

The resident writes the missing step and finishes — and the step stays.

01

Discover

It reads the signatures, documentation, and authored source of the application it lives in.

02

Work

It drives the same tools and workflows people use, in its own workspace.

03

Extend

When a step is missing, it writes it — and the resident compiler checks it, shapes the bytecode, and only then runs it.

04

Keep

Finished work lands as numbered acts in the one record people and agents share.

Useful in this session, immediately. What the agent builds is usable immediately — by it, by the application, and by people. Putting it in front of end users is a separate, deliberate step.

BUILT FOR INTERACTIVE APPLICATIONS

Keep working while the code changes.

The agent can try things freely. While a tool is open, its changes are temporary — close it, and everything it touched goes back to how it was. Moving, adjusting, experimenting: none of it leaves a trace by itself.

Keeping a result is a deliberate step. When someone — a person or the agent — decides their work is done, it is saved as one clean entry in a shared history. Anyone can see what changed, and step back to any earlier point.

See how the runtime holds live work and recorded changes
ILLUSTRATION / LIVE WORK AND THE RECORDLive motion leaves no trace until someone keeps it.
EXPERIMENT

temporary changes — no history

KEEP

save #41 lands

CONTINUE
step back · replay
a tool opens … closes: its changes are undone
Temporary changes leave no history. Saving adds one clean entry; closing a tool undoes its changes, and the history can be stepped back and replayed.

THE APPLICATION IS THE WORKSPACE

Bring Luna into your app. Or make the app in Luna.

Both paths use the same language and runtime. You choose exactly which of your application's capabilities the language can reach; your implementation stays private. The agent develops new programs, and your application can call them.

01 / EMBED LUNA

Add a language to the application you already have.

Keep your interface and native implementation. Expose the capabilities an agent can build with, then call the functions it publishes.

The compiler and runtime can run headlessly. Your application supplies the interface.

Agentdiscovers · writes · tests
YOUR EXISTING APPLICATION
Existing interfacePeople keep working
Native code & dataImplementation stays private
Expose typed
capabilities
Publish callable
functions
LUNAResident compilerPersistent runtime
New function
Your interface can use the function the agent just developed.
02 / BUILD WITH LUNA

Build an application whose behavior is Luna code.

Author tools, panels, interactions, and workflows in the same language the agent uses to extend them.

A new capability can become part of the running interface through the same authored functions.

Person
Application interface
Agent
Luna source
APPLICATION PROGRAMS
ToolsPanelsWorkflows+ New capability
LUNA COMPILER & RUNTIME

Checked programs · live environment · record

Selected native capabilities
The agent extends the same programs that make the application work.

LUNA

Let the next capability be written inside your product.

Embed Luna in the application you run today, or build an application whose tools and workflows are Luna programs. Give people and agents a shared place to make it better.