frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Sigil – A new programming language for AI agents

3•inerte•5h ago
I've been working on a new programming language for AI agents. I would love your input on what makes programming languages good for AI agents, especially syntax, compiler, and tooling that could help AI agents write code.

What makes Sigil good for coding agents?

I've turned conventions into compiler rules whenever possible. The compiler owns the canonical printer and every AST has one accepted textual representation. For almost every syntax feature I tried to save tokens.

Order and naming conventions are enforced. No more "I think this argument is important so it should come first." Most things are alphabetical. Declarations are categorized and ordered alphabetically; parameters, effects, and record fields are alphabetical too. Types are UpperCamelCase. Everything else is lowerCamelCase, including file names.

No nulls. No undefined. Bidirectional type checking. No shadowing. Fat stdlib (still in progress). `sigil debug` supports replay, stepping, watches, and breakpoints. `sigil inspect` lets coding agents query the compiler directly, including proof surfaces.

Solver-backed refinements and contracts. Different languages already choose different numeric surfaces: byte, short, smallint, unsigned integers, etc. Sigil pushes that one step further: domain constraints can also define types. `where` lets a named type carry a predicate, and `requires` / `ensures` let functions carry proof obligations across call boundaries.

Here is a contrived example from the roguelite:

  t InventoryCount=Int where value≥0

  λspendArrow(arrows:InventoryCount)=>InventoryCount
  requires arrows>0
  ensures result≥0
  =arrows-1
Under the hood this is backed by Z3: https://github.com/z3prover/z3 But the surface stays ordinary Sigil syntax. There are no proof scripts and no user-facing SMT language.

No imports, rooted references only. In some languages you can import code and have name clashes, so there are many ways to specify imports. Sigil eliminates all of that by only using rooted references. I think this reduces agent churn because when the model sees a line, it does not have to go hunt for an import statement.

Service dependencies are declared in `src/topology.lib.sigil`, and environment bindings live in `config/<env>.lib.sigil`.

The language has special syntax for tests and they are run in parallel. Every project `src/*.lib.sigil` function must be tested, and if a function can return multiple cases, tests should exercise all of them. "World" is Sigil's model for effects. That is how mocks work: swap one effect for another and make assertions without exercising real external systems.

The compiler toolchain is written in Rust, and Sigil outputs to TypeScript, with a Foreign Function Interface to Node.js. See some small projects here https://inerte.github.io/sigil/projects/ - the Flashcards is useful to learn about Sigil features https://inerte.github.io/sigil/projects/sigil-flashcards/dem...

Caveat: I did NOT type a single line of code for the compiler toolchain. It was all generated with Claude Code and Codex. I run both with permissions dangerously skipped. This actual post I hand crafted every word.

There is also a toy roguelite written in Sigil. It is a work in progress, but it is proof that Sigil can support nontrivial project code. You can play with `pnpm sigil:run:roguelike`.

Repository: https://github.com/inerte/sigil

Website: https://inerte.github.io/sigil/

And I would love if you can find ways to lock down LLM / user programs even more. In Sigil, there should be only one way to do anything.

Show HN: TermHub – Open-source terminal control gateway built for AI Agents

https://github.com/duo121/termhub
3•duo121•1h ago•1 comments

Show HN: Where Is Artemis?

https://www.whereisartemis.com/
4•larsmoa•1h ago•0 comments

Show HN: ACE – A dynamic benchmark measuring the cost to break AI agents

https://fabraix.com/blog/adversarial-cost-to-exploit
6•zachdotai•2h ago•3 comments

Show HN: A game where you build a GPU

https://jaso1024.com/mvidia/
892•Jaso1024•1d ago•177 comments

Show HN: OsintRadar – Curated directory for osint tools

https://osintradar.com/
65•lexalizer•17h ago•6 comments

Show HN: Contrapunk – Real-time counterpoint harmony from guitar input

https://contrapunk.com/
110•waveywaves•22h ago•46 comments

Show HN: M. C. Escher spiral in WebGL inspired by 3Blue1Brown

https://static.laszlokorte.de/escher/
154•laszlokorte•1d ago•24 comments

Show HN: Orcastrate – Sync GitHub Actions workflows across repos via templates

https://github.com/michidk/orcastrate
3•michidk•3h ago•0 comments

Show HN: Genetic algorithm engine that evolves trading strategies

https://github.com/NeuZhou/finclaw
2•neuzhou•3h ago•0 comments

Show HN: Arbory – Native iOS dashboard and widgets for Plausible Analytics

https://arbory.io/
2•jorijn•3h ago•0 comments

Show HN: I built a small app for FSI German Course

https://detawk.com/
46•syedmsawaid•3d ago•14 comments

Show HN: Ragot – a front end runtime built around lifecycle and ownership

https://github.com/BleedingXiko/RAGOT
2•BleedingXiko•4h ago•1 comments

Show HN: Fabro – open-source dark software factory

https://github.com/fabro-sh/fabro
2•brynary•5h ago•0 comments

Show HN: Sigil – A new programming language for AI agents

3•inerte•5h ago•0 comments

Show HN: I built a tool to show how much ARR you lose to FX fees

https://fixmyfx.com
3•TaniaBell_PD•5h ago•1 comments

Show HN: A Dad Joke Website

https://joshkurz.net/
5•joshkurz•5h ago•0 comments

Show HN: I made open source, zero power PCB hackathon badges

https://github.com/KaiPereira/Overglade-Badges
153•kaipereira•1d ago•15 comments

Show HN: sllm – Split a GPU node with other developers, unlimited tokens

https://sllm.cloud
178•jrandolf•1d ago•87 comments

Show HN: Gecit – DPI bypass using eBPF sock_ops, no proxy or VPN

https://github.com/boratanrikulu/gecit
5•boratanrikulu•7h ago•1 comments

Show HN: I built a frontpage for personal blogs

https://text.blogosphere.app/
768•ramkarthikk•2d ago•192 comments

Show HN: Apfel – The free AI already on your Mac

https://apfel.franzai.com
723•franze•2d ago•150 comments

Show HN: TurboQuant-WASM – Google's vector quantization in the browser

https://github.com/teamchong/turboquant-wasm
158•teamchong•1d ago•6 comments

Show HN: A Common Lisp implementation in development

https://savannah.nongnu.org/news/?id=10876
4•andreamonaco•8h ago•0 comments

Show HN: Cabinet – Kb+LLM (Like Paperclip+Obsidian)

https://runcabinet.com
15•Hilash•9h ago•11 comments

Show HN: Crabby – Claude Code skill that reviews code like the Rust compiler

4•ekadet•10h ago•1 comments

Show HN: Homebutler – Self-healing homelab in a single Go binary

https://homebutler.dev/
4•swq115•10h ago•1 comments

Show HN: Pluck – Copy any UI from any website, paste it into AI coding tools

https://www.pluck.so/
19•bring-shrubbery•1d ago•17 comments

Show HN: Beautiful intuitive weather forecasts that don't rely on numbers/units

https://weather-sense.leftium.com
2•Leftium•11h ago•8 comments

Show HN: Sshifu – Give SSH access in 1 command. Teleport/Smallstep alternative

https://github.com/azophy/sshifu
3•azophy_2•12h ago•2 comments

Show HN: DocMason – Agent Knowledge Base for local complex office files

https://github.com/jetxu-llm/docmason
11•Jet_Xu•1d ago•0 comments