frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

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

2•inerte•1h 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.

RPLY, the Unified Inbox for iMessage, WhatsApp, Slack, and Gmail on macOS

https://www.heynox.com
1•mcantillon•1m ago•0 comments

Track what top investors own (13F) and why they own it (10K AI Analysis)

https://superinvestorsbelike.com
2•oodelally•2m ago•0 comments

Claude is not allowed to write outside the workspace. But it wanted to.

https://twitter.com/evisdrenova/status/2040174214175723538
2•delichon•5m ago•0 comments

Framework? I sure hope it does

https://blog.valknight.xyz/framebroken.html
1•coinfused•7m ago•0 comments

Artemis II Tracker – Live Mission Control

https://artemis.cdnspace.ca/
1•rbanffy•8m ago•0 comments

Days Since OpenClaw CVE

https://days-since-openclaw-cve.com/
1•verandaguy•11m ago•0 comments

Show HN: MailMark – Cold email tool where you own your domain and mailboxes

1•debasishbarai•12m ago•0 comments

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

https://arbory.io/
1•jorijn•18m ago•0 comments

An elegant Pomodoro timer for your terminal

https://github.com/kaushalvivek/pom
1•kaushalvivek•18m ago•0 comments

/Render – 3D Model Skill for Claude Code

https://github.com/mfranzon/render
3•mfranzon•21m ago•0 comments

Can We Measure Software Slop? An Experiment

https://pscanf.com/s/352/
1•RohanAdwankar•21m ago•0 comments

Chinese Chip Firms Hit Record High Revenue Driven by the AI Boom and U.S. Curbs

https://www.cnbc.com/2026/04/03/chinese-chip-firms-record-revenue-ai-boom-us-curbs.html
1•karakoram•23m ago•0 comments

Why Your Engineering Team Is Slow (It's the Codebase, Not the People)

https://piechowski.io/post/codebase-drag-audit/
2•BerislavLopac•24m ago•0 comments

Journalist detained for booing Trump at Kennedy Center Chicago performance

https://www.advocate.com/news/kennedy-center-journalist-detained-trump
5•wahnfrieden•24m ago•0 comments

Securing AI infrastructure to prevent backdoors and sabotage

https://www.the-substrate.net/p/securing-ai-infrastructure-to-prevent
1•erwald•26m ago•0 comments

Code Is Worthless

https://nathanielfishel.substack.com/p/your-code-is-worthless
1•birdculture•27m ago•0 comments

YAML is (not) my preferred configuration format

https://belkadan.com/blog/2026/03/YAML-Is-Not-My-Preferred-Configuration-Format/
3•frizlab•29m ago•0 comments

Eggplant

https://xn--gi8h42h.ws/
1•memalign•31m ago•1 comments

Look Back on Some of Apple's Forgotten Legacies at 50 Years

https://spectrum.ieee.org/apple-50th-anniversary
1•pseudolus•32m ago•0 comments

Port of LA turns to electric terminal trucks to to slash dwell times

https://electrek.co/2026/04/04/port-of-la-turns-to-electric-terminal-trucks-to-to-slash-dwell-times/
2•toomuchtodo•34m ago•0 comments

Ask HN: I don't get why Anthropic is limiting usage

2•ud0•35m ago•4 comments

DPRK Malware Modularity: Diversity and Functional Specialization

https://dti.domaintools.com/research/dprk-malware-modularity-diversity-and-functional-specialization
1•campuscodi•36m ago•0 comments

Satellite firm Planet Labs to indefinitely withold Iran war imagery

https://www.reuters.com/business/media-telecom/satellite-firm-planet-labs-indefinitely-withhold-i...
2•anigbrowl•37m ago•0 comments

The Triumph of the Embryo: Some Thoughts on Lewis Wolpert's Embryology Book

https://chillphysicsenjoyer.substack.com/p/the-triumph-of-the-embryo
1•crescit_eundo•38m ago•0 comments

An open source CLI for saving your X / Twitter bookmarks locally

https://www.fieldtheory.dev/cli/
1•afar•39m ago•0 comments

Your developer environment needs a CLI

https://stanislav.blog/your-devenv-needs-a-cli/
1•spanferov•42m ago•0 comments

Good APIs Age Slowly

https://yusufaytas.com/good-apis-age-slowly/
11•karakoram•42m ago•1 comments

Slow Software

https://www.inkandswitch.com/slow-software/
1•leephillips•44m ago•0 comments

Way to protect your phone from a warrantless search in 2026

https://www.zdnet.com/article/how-to-protect-your-phone-from-warrantless-search/
1•ohjeez•45m ago•0 comments

Researchers spent years interviewing 160 Bigfoot hunters – what they learnt

https://www.bbc.com/news/articles/cvg58ydn4jpo
2•1659447091•45m ago•0 comments